3.安全发布对象

本章内容

  1.发布对象与对象逸出

  2.安全发布的四个方法


一、发布对象和对象逸出

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

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

 

二、安全发布的四种方法

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

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

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

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

  举例:单例模式

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

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

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

   ②懒汉式2:synchronized

 

   ③懒汉式3:双重同步锁

 

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

 

   ⑤饿汉式1

 

   ⑥饿汉式2

 

   ⑦枚举

posted @ 2019-12-23 15:34  Qmillet  阅读(125)  评论(0编辑  收藏  举报