设计模式Sington单例

fraternityjava 2020-06-14

当声明一个final成员时,必须在构造函数退出前设置它的值
final类型的成员变量的值,包括那些用final引用指向的collections的对象,是读线程安全而无需使用synchronization的

1,恶汉 线程安全 效率低

设计模式Sington单例

2,饱汉 线程安全 效率低

设计模式Sington单例

3,synchronized放到方法内提升效率
volatile保证多线程instance变量可见性(进入synchronized二次判空)

设计模式Sington单例

相关推荐