
JUC
文章平均质量分 72
a2370889_com
这个作者很懒,什么都没留下…
展开
-
java线程安全的实现方法总结学习
java语言中的线程安全将安全程度由强到弱排序:不可变、绝对线程安全、相对线程安全、线程兼容和线程对立,共五种情况不可变:典型的就是String类,这个就不多赘言。还有枚举类,以及Number类的部分子类,如Long/Double/BigInteger等大数类型。绝对线程安全:不论运行时环境如何,调用者都不用采取额外的同步措施。相对线程安全:这是大家平常所提到的“线程安全”的级别,如集原创 2018-01-14 16:21:52 · 850 阅读 · 0 评论 -
ConcurrentHashMap源码阅读笔记(JUC)
76-85行 注释:这里主要讲的是同为线程安全的Hash,HashTable和ConcurrentHashMap的区别。ConcurrentHashMap(下文用本类指代)虽然是线程安全的,但是检索操作(比如get,是不保证加以锁的),并且本类没有任何操作用于锁住整个类实例的表。本类并不是以同步锁(synchronize)来保证线程安全的,而是它本身操作的性质(CAS无锁化同步)。87原创 2018-01-12 10:31:42 · 260 阅读 · 0 评论 -
Java并发编程学习笔记(一)
第一部分:基础知识第三章:对象的共享3.2 发布与溢出 发布的定义:使得对象能够在当前作用域之外的代码中使用。 发布的注意事项:(1)发布对象可能会破坏封装性 (2)难以维持不变性,在构造完成前发布对象则会破坏线程安全性(引用逃逸) (3)发布是连锁的。即比如我发布了A对象,假设A对象中能够通过对非私有变量的引用到达B对象,那么B对象也会被发布。 (4)不要在构造方法中使原创 2018-02-07 20:28:41 · 203 阅读 · 0 评论