标签:
1、饿汉式
1)、构造器私有化
2)、私有的静态属性,创建该对象
3)、提供公共的静态方法,访问该属性
2、懒汉式
1)、构造器私有化
2)、私有的静态属性,不创建该对象
3)、提供公共的静态方法,第一次访问时创建对象,访问该属性
//饿汉式 class Hunger{ private Hunger(){};//1 private static Hunger instance = new Hunger();//2 public static Hunger getInstance(){ return instance;//3 } } //懒汉式 class Lazy{ private Lazy(){};//1 private static Lazy instance;//2 public static Lazy getInstace(){//3 if(null==instance){ instance = new Lazy(); } return instance; } }
经过测试,饿汉式总能保证单例,另一个在阻塞(如sleep(1000))情况下单例不能保持。
标签:
原文地址:http://www.cnblogs.com/my-cup/p/5700803.html