单例模式的几种写法
1. 懒汉模式,双层检查机制
public class SingleOne { private static volatile Object object=null; /** * 懒汉模式 * 双重判断模式 * @return */ public static Object getInstance(){ if(object==null){ synchronized (SingleOne.class){ if(object==null){ object=new Object(); } } } return object; } }
2. 饿汉模式(内部类静态类)
public class SingleTwo { /** * 饿汉模式 * 静态内部类方式 */ private static class ObjectHandler{ private static Object object = new Object(); } private SingleTwo(){ } public static SingleTwo getInstance(){ return ObjectHandler.object; } }
3. 饿汉模式(静态代码块)
private static Object instance = null; private SingleThree(){} /** * 静态内部类方式 */ static { instance = new Object(); } public static SingleThree getInstance(){ return instance; }
作者:guanbin —— 纵码万里千山
出处:https://www.cnblogs.com/guanbin-529/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。