前言:
今天你们对“java中单例模式具体作用”都比较注重,大家都需要剖析一些“java中单例模式具体作用”的相关内容。那么小编同时在网络上网罗了一些对于“java中单例模式具体作用””的相关内容,希望姐妹们能喜欢,我们一起来学习一下吧!public class SingletonDemo { /** * 常见的单例模式:饿汉式,懒汉式,双重检索琐式,其中饿汉式和懒汉式比较常见 * 单例常见的应用场景: * 1.项目中读取文件配置; * 2.数据库连接池; * 3.Spring中的每个bean都是单例,便于Spring容器进行管理; * 4.Servlet中Application * 5.网络计数器,回收站,任务管理等等 */}/** * 饿汉式:线程安全,调用效率高,但是不能延时加载 * 由于该模式在加载类的时候d对象就已经创建了,所以加载类的比较慢,但是获取对象实例比较快,且线程是安全的 */class SingletonDemo1{ //线程安全的 //类初始化,立即加载 private static SingletonDemo1 instance = new SingletonDemo1(); //构造方法私有化 private SingletonDemo1(){ } //方法没有加同步块,所以效率高 public static SingletonDemo1 getInstance(){ return instance; }}/** * 懒汉式:线程不安全。 */class SingletonDemo2{ //线程不安全 private static SingletonDemo2 instance = null; //构造方法私有化 private SingletonDemo2(){ } public static SingletonDemo2 getInstance(){ if (instance == null){ instance = new SingletonDemo2(); } return instance; }}/** * 懒汉式:双重同步锁 */class SingletonDemo3{ private static volatile SingletonDemo3 instance = null; private SingletonDemo3(){} public static SingletonDemo3 getInstance(){ if (instance == null){ synchronized (SingletonDemo3.class){ if (instance == null){ instance = new SingletonDemo3(); } } } return instance; }}
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #java中单例模式具体作用 #java中的单例模式的使用场景