设计模式总结
发布日期:2021-05-06 22:53:08 浏览次数:25 分类:精选文章

本文共 1074 字,大约阅读时间需要 3 分钟。

设计模式总结

设计模式是程序员一种约定俗成的编码规矩,是众多的程序员在多年的代码生涯中归纳中介得到的经验精华。也是面试中常常被面试官问道的,但是23种设计模式很多,要弄清楚绝非短期能够做到,本文总结了工作中最常见的设计模式以及面试中常考的设计模式。

单例模式

饿汉模式

在类被被加载到JVM后,对象就已经被创建好。

//饿汉模式,很饿很着急,所以类加载时即创建实例对象public class Singleton1 {   		private static Singleton1 singleton = new Singleton1();		private Singleton1(){   			}		public static Singleton1 getInstance(){   		return singleton;	}}

饱汉模式

类被加载到JVM时,对象并没有被创建。而是在获取对象时,如果没有被创建,才创建对象。

//饱汉模式,很饱不着急,延迟加载,啥时候用啥时候创建实例,存在线程安全问题public class Singleton2 {    	private static Singleton2 singleton;		private Singleton2(){   	}		public static synchronized Singleton2 getInstance(){   		if(singleton == null) 			singleton = new Singleton2();		return singleton;	}}

注意在多线程环境下,为了保证线程安全,需要采用Java的锁机制。

还有其他的方式来保证饱汉模式在多线程环境下的安全。

静态内部类实现

静态内部类实现是线程安全的。

public class Singleton {        private static class SingletonHolder {            private static final Singleton INSTANCE = new Singleton();     }     private Singleton (){   }     public static final Singleton getInstance() {            return SingletonHolder.INSTANCE;     }  }

工厂模式

简单工厂模式

代理模式

静态代理模式

动态代理模式

上一篇:Redis中的一致性哈希
下一篇:JAVA并发控制策略总结

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2025年03月31日 14时16分19秒