3.安全发布对象

本章内容

  1.发布对象与对象逸出

  2.安全发布的四个方法


一、发布对象和对象逸出

  发布对象:使一个对象能够被当前范围之外的代码所使用。

  对象逸出:是一种错误的发布,之当一个对象还没有构造完成时,就对其他线程可见

二、安全发布的四种方法

1.在静态初始化函数中初始化一个对象引用。

2.将对象的引用保存在volatile类型域或者AtomicReference对象中。

3.将对象的引用保存在某个正确构造对象的final类型域中。

4.将对象的引用保存在一个由保护的域中。

  举例:单例模式

  懒汉式:指全局的单例实例在第一次使用时构建。

  饿汉式:指全局的单例实例在类加载时构建。

  ①懒汉式1:静态初始化函数

   ②懒汉式2:synchronized

   ③懒汉式3:双重同步锁

   ④懒汉式4:volatile禁止重排序

   ⑤饿汉式1

   ⑥饿汉式2

   ⑦枚举

猜你喜欢

转载自www.cnblogs.com/qmillet/p/12081457.html