码迷,mamicode.com
首页 > 编程语言 > 详细

发布线程安全的对象

时间:2014-09-20 19:45:19      阅读:287      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   使用   java   strong   div   sp   log   

一。总

发布对象:使对象能在当前作用域之外的代码中使用。既将对象的引用传递到其他类的变量和方法。

(1)变量的静态初始化

(2)声明为volatile变量 或 AtomicReferance对象

(3)声明为final变量

(4)将变量保存在线程安全的容器中(既保存在一个由锁保护的域中)

 

二。分

1.成员变量的初始化:

(1)直接初始化

(2)构造函数初始化

 

2.在Java内存模型中,final域能确保初始化过程的安全性,从而可以不受限制的访问不可变对象,并在共享这些对象时无需同步。

在可变对象基础上构建的不可变类:虽然Set对象是可变的,但Set对象通过ThreeStooges的构造函数后,无法对其修改。

public final class ThreeStooges {
    private final Set<String> stooges = new HashSet<String>();
    
    public ThreeStooges(){
        stooges.add("A");
        stooges.add("B");
        stooges.add("C");
    }
    
    public boolean isStooge(String name){
        return stooges.contains(name);
    }
}

 

发布线程安全的对象

标签:style   blog   color   使用   java   strong   div   sp   log   

原文地址:http://www.cnblogs.com/yuyutianxia/p/3983476.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!