首页 > 代码库 > 发布线程安全的对象
发布线程安全的对象
一。总
发布对象:使对象能在当前作用域之外的代码中使用。既将对象的引用传递到其他类的变量和方法。
(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); }}
发布线程安全的对象
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。