单例设计模式:
1,为了避免其他程序过多建立该类对象,先禁止其他程序建立该类的对象
(构造函数私有化)
2,还为了让其他程序可以访问到该类对象。只好在本类中自定义一个对象。
(在类中创建一个本类对象)
3,为了方便其他程序对自定义对象的访问,可以对外提供一些访问方式
(提供方法获取该对象)
例1:饿汉式与懒汉式
例2:延时加载解决多线程引发的安全问题
懒汉式也叫延时加载,多线程访问时会出现安全问题,可以用同步的方式来解决。但是加锁方式过于低调,因此这里使用双重判断的方式来提高效率。(同步时,使用的锁是该类所属的字节码文件对象)