首页 > 其他 > 详细

3.安全发布对象

时间:2019-12-23 17:12:36      阅读:88      评论:0      收藏:0      [点我收藏+]

本章内容

  1.发布对象与对象逸出

  2.安全发布的四个方法


一、发布对象和对象逸出

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

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

 

二、安全发布的四种方法

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

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

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

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

  举例:单例模式

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

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

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

技术分享图片

   ②懒汉式2:synchronized

技术分享图片

 

   ③懒汉式3:双重同步锁

技术分享图片

 

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

技术分享图片

 

   ⑤饿汉式1

技术分享图片

 

   ⑥饿汉式2

技术分享图片

 

   ⑦枚举

技术分享图片

3.安全发布对象

原文:https://www.cnblogs.com/qmillet/p/12081457.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!