.Net转Java自学之路—基础巩固篇五(单例模式)
保证类在内存中对象的唯一性。
实现:
1、想构造函数私有化。这样对方程序创建就无法初始化,已达到不允许其它程序创建对象的目的。
2、在本类中用new来创建一个本类的对象。
3、提供一个公用的函数返回该对象。方便与其它程序获取该对象。
体现:
1、私有化构造函数。
2、创建一个私有并静态的本类对象。
3、创建一个公用的static方法来返回该对象。
单例模式的延迟加载模式,当并发访问公用的static方法时,容易出现安全问题(线程安全问题)
//饿汉式 class Single { private Single(){} private static Single single = new Single(); public static Single getInstance() { return single; } } //懒汉式 单例模式的延迟加载模式 class Single { private Single(){} private static Single single = null; public static Single getInstance() { if(single == null) single = new Single(); return single; } }
一缕春风、一片绿荫