笔记 - Java多线程之 volatile

96
弥宣
2018.04.06 22:42* 字数 666

清明节 2

晚间准备写一篇博客,记录下今日所学,看到居然有一个同学回复了我前一天的胡言乱语,受宠若惊呀,果然,网络上的兴奋点对于每一个开始写文字的人来说都是很低的。

今天的学习延续着昨天的多线程系列,目前读到了 Volalite 关键字这篇,然后对于它的内部机制以及更深层次的东西,我决定深挖一番。(可能是以前太不求甚解了,导致目前技术与年限的尴尬处境)

volalite 并不能保证是原子性操作,所以相对于 synchronized 只能说是相对安全的。主要是延续了内存的可见性以及在某些情况下,同步机制性能优于锁。

Volatile的实现原理 中,作者从汇编语言的角度,分析了多处理器是如何保证 volatile 修饰变量的内存可见性的。另外,针对 Java并发编程大师Doug lea在JDK7的并发包里新增一个队列集合类LinkedTransferQueue,他在使用Volatile变量时,用一种追加字节的方式来优化队列出队和入队的性能 的案例,给与了具体的分析,并给出了见解。

正确使用 Volatile 变量 一文,貌似被当做百度百科了,阐述了运用的几种情景,避免踩坑,毕竟相对于 synchronized 还是有些弱的,需要避开雷区使用。

接下来的计划就是学完 volatile 关键字之后可以出一篇博客,可能自己的理解较少,主要是记录下知识点,防雷。

Java Concurrency 无意间搜到这本书籍,我觉得他会在我的浏览器分页上待很长时间了。慢慢拜读吧~

最后加上今天小感悟吧:我们看到的资料可能都是被多个作者稀释了很多倍的残羹剩饭,对错暂且不论,滋味肯定不是很好的,挖掘到源头可能会发现意外的惊喜。真心希望广大的博客产出达人们,尽量标记下参考文献的链接,不仅能够督促自己不要人云亦云,还能给后来的人提供最原始的食材。毕竟每个人的思维方式不同,产出的东西肯定都带有个人色彩,和原文还是有些偏差的。

日记本
Web note ad 1