package o_oriented; /* 饿汉式: class Single { private Single(){} private static Single s = new Single(); public static Single getInstance() { return s; } 这个先初始化对象。 Single类一进内存,就已经创建好了对象。 注意:在开发时,用饿汉式。懒汉式在面试当中比较常见,通过结合多线程来解释。 */ public class SingleDemo2 { public static void main(String[] args) { } } /* 懒汉式: 对象是方法被调用时,才初始化,也叫做对象的延时加载。 Single类进内存,对象还没有存在,只有调用了getInstance方法时,才建立对象。双重判断机制 */ class Single { private Single(){} private static Single s = null; public static Single getInstance() { if( s == null) { synchronized(Single .class) { if( s == null) s = new Single(); } } return s ; } } ==================================================================================================== |