懒汉单例设计模式
懒汉单例设计模式
1.私有化构造函数
2.声明本类的引用类型变量,但是不要创建对象。
3.提供公共静态的方法 获取本类的 对象, 获取之前先判断是否已经创建了本类 对象,
如果已经创建了,那么直接返回对象即可,如果还没有创建,那么先创建本类的对象,
然后在返回。
推荐使用: 饿汉单例设计模式。因为懒汉单例设计模式会存在线程安全问题,目前还不能保证一个类
1.私有化构造函数
2.声明本类的引用类型变量,但是不要创建对象。
3.提供公共静态的方法 获取本类的 对象, 获取之前先判断是否已经创建了本类 对象,
如果已经创建了,那么直接返回对象即可,如果还没有创建,那么先创建本类的对象,
然后在返回。
推荐使用: 饿汉单例设计模式。因为懒汉单例设计模式会存在线程安全问题,目前还不能保证一个类
在内存中只有一对象。
class SingleLazy {//2.声明本类的引用类型变量,但是不要创建对象。private static SingleLazy sl ;private SingleLazy(){//1.私有化构造函数}/*3.提供公共静态的方法 获取本类的 对象, 获取之前先判断是否已经创建了本类 对象,如果已经创建了,那么直接返回对象即可,如果还没有创建,那么先创建本类的对象,然后在返回。*/public static SingleLazy getInstance(){if (sl == null){sl = new SingleLazy();}return sl;} } public class SingletonPattern {public static void main(String[] args) {SingleLazy s1 = SingleLazy.getInstance();SingleLazy s2 = SingleLazy.getInstance();System.out.println("s1对象内存地址= "+s1+" s2对象内存地址= "+s2+'\n'+"s1 与 s2 是否相同?"+(s1 == s2));} }总结
- 上一篇: 饿汉单例设计模式
- 下一篇: 用Python对XML读取和处理