合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
# 单例设计模式 ### 一个类只能创建唯一的一个对象 ### 想要完成单例模式,必须私有化构造器 >恶汉式 ``` 在类里创建对象 创建方法获得对象(static) 不存在线程问题; ``` ``` public class Singleton1 { static private Singleton1 instance = new Singleton1(); public static Singleton1 getInstance() { return instance; } } ``` >懒汉式 ``` 在类里声明对象,不赋值(static) 创建方法为对象赋值(static) 存在线程问题; 解决方案:用对象锁synchronized修饰对象赋值方法 //锁对象为字节码文件; ``` ``` public class Singleton2 { static private Singleton2 instance = null; public static synchronized Singleton2 getInstance() { if(instance == null) { instance = new Singleton2(); } return instance; } } ```