﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Mercy Blog-随笔分类-《深入Java并发》</title><link>http://www.blogjava.net/mercyblitz/category/46096.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 01 Sep 2010 15:21:28 GMT</lastBuildDate><pubDate>Wed, 01 Sep 2010 15:21:28 GMT</pubDate><ttl>60</ttl><item><title>《深入Java并发》- 1.1 摩尔定律</title><link>http://www.blogjava.net/mercyblitz/archive/2010/09/01/330610.html</link><dc:creator>Mercy</dc:creator><author>Mercy</author><pubDate>Wed, 01 Sep 2010 13:01:00 GMT</pubDate><guid>http://www.blogjava.net/mercyblitz/archive/2010/09/01/330610.html</guid><wfw:comment>http://www.blogjava.net/mercyblitz/comments/330610.html</wfw:comment><comments>http://www.blogjava.net/mercyblitz/archive/2010/09/01/330610.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/mercyblitz/comments/commentRss/330610.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/mercyblitz/services/trackbacks/330610.html</trackback:ping><description><![CDATA[<p style="margin-bottom: 0in;" align="LEFT"><span style="font-family: 'Times New Roman',serif;">&nbsp;&nbsp; <span style="font-size: small;">&nbsp;</span>
</span>
<span style="font-family: 'DejaVu Sans'; font-size: small;">大学，大家都来学。对于大学而言，笔者和很多人一样，还是挺期待的。在这期间，有两个词汇让我难以忘记，一个是&#8220;冯诺依曼体系结构&#8221;，一个是&#8220;摩尔定律&#8221;。前者确定了目前计算机体系结构，后者预言了计算机芯片（集成电路）的更新周期。</span>
</p>
<p style="margin-bottom: 0in;" align="LEFT"><span style="font-size: small;"><br />
</span>
</p>
<p><span style="font-size: small;"><br />
</span>
</p>
<p style="margin-bottom: 0in;" align="LEFT"><span style="font-family: 'DejaVu Sans'; font-size: small;"><span style="font-family: 'Times New Roman',serif;">&nbsp;&nbsp; &nbsp;</span>
记得老师是这么描述摩尔定律</span>
<span style="font-family: 'Times New Roman',serif; font-size: small;">-&#8220;</span>
<span style="font-family: 'DejaVu Sans'; font-size: small;">计算机芯片集成电路数量，每</span>
<span style="font-family: 'Times New Roman',serif; font-size: small;">18</span>
<span style="font-family: 'DejaVu Sans'; font-size: small;">个月翻一翻&#8221;。听过之后，我顿时感到神奇。神的地方是，不能理解为什么电脑电脑更新这么快。奇的地方，计算机芯片既然物质，那么肯定有极限，芯片数量级不可能会成数学规律增长。因此，我对这个预言一直抱有怀疑的态度。</span><br />
</p>
<br />
<p><span style="font-size: small;"><br />
</span>
</p>
<p style="margin-bottom: 0in;" align="LEFT">
<span style="font-family: 'DejaVu Sans'; font-size: small;"><span style="font-family: 'Times New Roman',serif;">&nbsp;&nbsp; &nbsp;</span>
针对这个理论，世界芯片级巨头</span>
<span style="font-family: 'Times New Roman',serif; font-size: small;">Intel</span>
<span style="font-family: 'DejaVu Sans'; font-size: small;">相当地认可，毕竟摩尔其人也是</span>
<span style="font-family: 'Times New Roman',serif; font-size: small;">Intel</span>
<span style="font-family: 'DejaVu Sans'; font-size: small;">创建人之一。因此，</span>
<span style="font-family: 'Times New Roman',serif; font-size: small;">Intel</span>
<span style="font-family: 'DejaVu Sans'; font-size: small;">芯片数量的规律非常贴近摩尔定律。</span>
</p>
<p style="margin-bottom: 0in;" align="LEFT"><span style="font-size: small;"><br />
</span>
</p>
<p><span style="font-size: small;"><br />
</span>
</p>
<p style="margin-bottom: 0in;" align="LEFT">
<span style="font-family: 'DejaVu Sans'; font-size: small;"><span style="font-family: 'Times New Roman',serif;">&nbsp;&nbsp; &nbsp;</span>
在很大程度上，硬件执行速度决定了计算机的运行速度。那也就说，摩尔定律也影响着系统运行效率。众所周知，操作系统支持并发执行，不过在单处理器，宏观上是并行
，但微观上是串行。在这种情况下，并行实现则是由</span>
<span style="font-family: 'Times New Roman',serif; font-size: small;">CPU</span>
<span style="font-family: 'DejaVu Sans'; font-size: small;">轮询的方式来执行任务，在用户感知下，是不会觉得延迟的。如果</span>
<span style="font-family: 'Times New Roman',serif; font-size: small;">CPU</span>
<span style="font-family: 'DejaVu Sans'; font-size: small;">处理的速度越快，因此，</span>
<span style="font-family: 'Times New Roman',serif; font-size: small;">CPU</span>
<span style="font-family: 'DejaVu Sans'; font-size: small;">在任务之间切换的时间就越短，用户更加不会察觉。</span>
</p>
<p style="margin-bottom: 0in;" align="LEFT"><span style="font-size: small;"><br />
</span>
</p>
<p><span style="font-size: small;"><br />
</span>
</p>
<p style="margin-bottom: 0in;" align="LEFT">
<span style="font-family: 'DejaVu Sans'; font-size: small;"><span style="font-family: 'Times New Roman',serif;">&nbsp;&nbsp; &nbsp;</span>
摩尔定律，可谓是成也</span>
<span style="font-family: 'Times New Roman',serif; font-size: small;">Intel</span>
<span style="font-family: 'DejaVu Sans'; font-size: small;">，败也</span>
<span style="font-family: 'Times New Roman',serif; font-size: small;">Intel</span>
<span style="font-family: 'DejaVu Sans'; font-size: small;">。由于开发成本和物理极限等原因，单处理器遇到了瓶颈，
摩尔定律也宣告失效。新的时代来临</span>
<span style="font-family: 'Times New Roman',serif; font-size: small;">-
</span>
<span style="font-family: 'DejaVu Sans'; font-size: small;">多处理器时代。</span>
</p>
<p style="margin-bottom: 0in;" align="LEFT"><span style="font-size: small;"><br />
</span>
</p>
<p style="margin-bottom: 0in;" align="LEFT">
<span style="font-family: 'DejaVu Sans'; font-size: small;">笔者却认为摩尔定律就是一个&#8220;大忽悠&#8221;，无论是物理限制，还是计算机体系和脑力的局限性。正所谓英雄所见略同。不久前，微软创始人</span>
<span style="font-family: 'Times New Roman',serif; font-size: small;">-</span>
<span style="font-family: 'DejaVu Sans'; font-size: small;">盖茨兄弟，也赞同<a href="http://www.linuxpk.com/viewnews-23505.html" target="_blank">这种观点</a>
。同时，</span>
<span style="font-family: 'Times New Roman',serif; font-size: small;">Intel</span>
<span style="font-family: 'DejaVu Sans'; font-size: small;">这些公司，为了弥补技术革命上面的憋足，把这种摩尔意识强如植入了民众的大脑，这就不难解释，在</span>
<span style="font-family: 'Times New Roman',serif; font-size: small;">2005</span>
<span style="font-family: 'DejaVu Sans'; font-size: small;">年有一个公司叫</span>
<span style="font-family: 'Times New Roman',serif; font-size: small;">AMD</span>
<span style="font-family: 'DejaVu Sans'; font-size: small;">让</span>
<span style="font-family: 'Times New Roman',serif; font-size: small;">Intel</span>
<span style="font-family: 'DejaVu Sans'; font-size: small;">多么的狼狈，其中最有威慑力应属于</span>
<span style="font-family: 'Times New Roman',serif; font-size: small;">x64</span>
<span style="font-family: 'DejaVu Sans'; font-size: small;">架构。</span>
</p>
<p style="margin-bottom: 0in;" align="LEFT"><span style="font-size: small;"><br />
</span>
</p>
<p><span style="font-size: small;"><br />
</span>
</p>
<p style="margin-bottom: 0in;" align="LEFT">
<span style="font-family: 'DejaVu Sans'; font-size: small;"><span style="font-family: 'Times New Roman',serif;">&nbsp;&nbsp; &nbsp;</span>
无论摩尔定律留下了什么，多处理器时代已经来临。</span>
</p>
<p style="margin-bottom: 0in;" align="LEFT"><span style="font-size: small;"><br />
</span>
</p>
<p style="margin-bottom: 0in; text-align: center;"><span style="line-height: 18px; font-family: Arial,sans-serif,Helvetica,Tahoma; font-size: small;">&nbsp;<a href="http://www.blogjava.net/mercyblitz/archive/2010/09/01/330539.html" target="_self">上一篇：1.基础</a>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 下一篇：1.2&nbsp;</span>
<span style="font-family: 'DejaVu Sans'; font-size: small;">多处理器时代</span>
</p>
<img src ="http://www.blogjava.net/mercyblitz/aggbug/330610.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/mercyblitz/" target="_blank">Mercy</a> 2010-09-01 21:01 <a href="http://www.blogjava.net/mercyblitz/archive/2010/09/01/330610.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>《深入Java并发》- 1.基础</title><link>http://www.blogjava.net/mercyblitz/archive/2010/09/01/330539.html</link><dc:creator>Mercy</dc:creator><author>Mercy</author><pubDate>Wed, 01 Sep 2010 03:32:00 GMT</pubDate><guid>http://www.blogjava.net/mercyblitz/archive/2010/09/01/330539.html</guid><wfw:comment>http://www.blogjava.net/mercyblitz/comments/330539.html</wfw:comment><comments>http://www.blogjava.net/mercyblitz/archive/2010/09/01/330539.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/mercyblitz/comments/commentRss/330539.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/mercyblitz/services/trackbacks/330539.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; <span style="font-weight: normal; font-size: 10.5pt; font-family: '宋体';">最近&#8220;神仙道人&#8221;李一&#8220;东窗事发&#8221;，再次成为新闻的&#8220;焦点&#8221;。铺天盖地的&#8220;负面&#8221;文章接着出现。其中，影响比较深刻的就是张纪中的老婆<font face="Times New Roman">-</font></span><span style="font-size: 10.5pt; font-family: 'Times New Roman';">樊馨蔓</span><span style="font-weight: normal; font-size: 10.5pt; font-family: '宋体';">写的一本书</span><span style="font-size: 10.5pt; font-family: 'Times New Roman';">《世上是不是有神仙》</span><span style="font-size: 10.5pt; font-family: '宋体';">，同时还有不少名人为其宣传。在事发之前，恐怕能去李道人的养生班恐怕都不是一般人。无论是张悟本，还是林光常，在电视银幕的衬托下，成了老百姓视为养生大师，难道中国人连基本的常识都不具备了吗？</span><span style="font-size: 10.5pt; font-family: '宋体';"><o:p></o:p></span>
<p class="p0" style="text-indent: 21pt; margin-bottom: 7.8pt; margin-top: 0pt; text-align: left;"><span style="font-size: 10.5pt; font-family: '宋体';">当打破养生&#8220;神话&#8221;时，老百姓又&#8220;清醒&#8221;过来，被媒体玩弄到无以复加地步。知识匮乏和不求甚解，甚至怀疑精神都不具备，能不成为悲剧吗？</span><span style="font-size: 10.5pt; font-family: '宋体';"><o:p></o:p></span></p>
<p class="p0" style="text-indent: 21pt; margin-bottom: 7.8pt; margin-top: 0pt; text-align: left;"><span style="font-weight: normal; font-size: 10.5pt; font-family: '宋体';">放眼<font face="Times New Roman">IT</font><font face="宋体">领域，结果发现也是惊人的相似。</font></span><span style="font-weight: normal; font-size: 10.5pt; font-family: '宋体';"><o:p></o:p></span></p>
<p class="p0" style="text-indent: 21pt; margin-bottom: 7.8pt; margin-top: 0pt; text-align: left;"><span style="font-weight: normal; font-size: 10.5pt; font-family: '宋体';">现代编程语言的发展，让这个行业的门槛越来越低。就语言发展角度而言，这是一种必然趋势。从从业人员的素质而言，注定了良莠不齐的现象。往往技术人员容易经不起&#8220;新技术&#8221;的&#8220;诱惑&#8221;，不断学习所谓新的&#8220;技术&#8221;。在<font face="Times New Roman">Java</font><font face="宋体">领域，恐怕没有人不知道&#8220;</font><font face="Times New Roman">SSH</font><font face="宋体">&#8221;框架的大名。框架成就了其作者，也成了一种文化。本人作为面试官时，当问到请描述一下以前项目的架构？总是能够听到类似于这样的答案</font><font face="Times New Roman">-</font><font face="宋体">&#8220;系统采用</font><font face="Times New Roman">SSH</font><font face="宋体">架构</font><font face="Times New Roman">...</font><font face="宋体">&#8221;。也许面试必谈</font><font face="Times New Roman">SSH</font><font face="宋体">，因此本人的简历很难吸引他人的眼球。</font></span><span style="font-weight: normal; font-size: 10.5pt; font-family: '宋体';"><o:p></o:p></span></p>
<p class="p0" style="text-indent: 21pt; margin-bottom: 7.8pt; margin-top: 0pt; text-align: left;"><span style="font-size: 10.5pt; font-family: '宋体';">当我第一眼看到<font face="Times New Roman">Spring</font><font face="宋体">，觉得它就是&#8220;玩具&#8221;，这样的言论也许会遭到</font><font face="Times New Roman">Spring</font><font face="宋体">粉丝的口诛笔伐。当你能够反向思考的时，你的世界也会发生变化。</font><font face="Times New Roman">Spring</font><font face="宋体">给我们带来了什么？依赖倒置，不等同于零依赖。轻浸入性，不等于没有浸入性。系统拆去</font><font face="Times New Roman">Spring</font><font face="宋体">，虽然能够保证源代码兼容性（编译时不会遇到问题），可是那样系统等同于残废</font><font face="Times New Roman">-</font><font face="宋体">留下了一堆没有关联对象。当然，目的并不在于花大力气来批评</font><font face="Times New Roman">Spring</font><font face="宋体">，毕竟存在即理由，</font><font face="Times New Roman">Spring</font><font face="宋体">还是有其优点</font><font face="Times New Roman">-</font><font face="宋体">良好地编程风格和丰富的类库等。</font><font face="Times New Roman">Struts</font><font face="宋体">和</font><font face="Times New Roman">Hibernate</font><font face="宋体">也如此。作为专业从业人员，讨论&#8220;谁是谁非&#8221;是没有意义的。分析使用场景，才是有意义的，前提是你必须了解它的优缺点，并非迎合或奉承它，不要为了技术而技术。</font></span><span style="font-size: 10.5pt; font-family: '宋体';"><o:p></o:p></span></p>
<p class="p0" style="text-indent: 21pt; margin-bottom: 7.8pt; margin-top: 0pt; text-align: left;"><span style="font-size: 10.5pt; font-family: '宋体';">当你厌倦了框架的重复劳动（重复的编码工作和大量新型框架重复发明轮子），也许你更加关注于原理性的东西，甚至是实现细节。那么，本系列的文章就很可能会适合你。</span><span style="font-size: 10.5pt; font-family: '宋体';"><o:p></o:p></span></p>
<p class="p0" style="text-indent: 21pt; margin-bottom: 7.8pt; margin-top: 0pt; text-align: left;"><span style="font-size: 10.5pt; font-family: '宋体';">当我们刚接触某个事物时，倾听（观察）它，怀疑（分析）它，定位它。兼听则明，偏听则暗。</span></p>
<p class="p0" style="text-indent: 21pt; margin-bottom: 7.8pt; margin-top: 0pt; text-align: left;"><strong>文章来源：<a title="作者JavaEye Blog" target="_blank" href="http://mercyblitz.javaeye.com/blog/749144">作者的JavaEye Blog</a>。</strong>
</p>
<div align="center">&nbsp;<a title="《深入Java并发》目录" target="_blank" href="http://www.blogjava.net/mercyblitz/archive/2010/08/27/330079.html">上一篇：目录</a> 下一篇：1.1 摩尔定律
</div>
<img src ="http://www.blogjava.net/mercyblitz/aggbug/330539.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/mercyblitz/" target="_blank">Mercy</a> 2010-09-01 11:32 <a href="http://www.blogjava.net/mercyblitz/archive/2010/09/01/330539.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>《深入Java并发》- 目录（v0.1）</title><link>http://www.blogjava.net/mercyblitz/archive/2010/08/27/330079.html</link><dc:creator>Mercy</dc:creator><author>Mercy</author><pubDate>Fri, 27 Aug 2010 09:48:00 GMT</pubDate><guid>http://www.blogjava.net/mercyblitz/archive/2010/08/27/330079.html</guid><wfw:comment>http://www.blogjava.net/mercyblitz/comments/330079.html</wfw:comment><comments>http://www.blogjava.net/mercyblitz/archive/2010/08/27/330079.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.blogjava.net/mercyblitz/comments/commentRss/330079.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/mercyblitz/services/trackbacks/330079.html</trackback:ping><description><![CDATA[<p><span style="font-size: small;">Author : mercyblitz<br />
Version: 0.1<br />
Update : 2010-08-27 4:26PM<br />
Email:&nbsp; mercyblitz@gmai.com</span>
</p>
<p><span style="font-size: small;"><br />
1. &nbsp;<a href="http://www.blogjava.net/mercyblitz/archive/2010/09/01/330539.html" target="_blank">基础</a>&nbsp;&nbsp; &nbsp;<br />
&nbsp;&nbsp; &nbsp;1.1&nbsp; 摩尔定律 &nbsp;<br />
<br />
&nbsp;&nbsp; &nbsp;1.2&nbsp; 多处理器时代<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.2.1&nbsp; 对称多处理（ Symmetric Multi-Processor, a.k.a SMP）<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.2.2&nbsp; 非对称多处理（ ASymmetric Multi-Processor, a.k.a ASMP）<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.2.3&nbsp; 非统一内存访问（ a.k.a NUMA）<br />
<br />
&nbsp;&nbsp; &nbsp;1.3&nbsp; 共享内存（Shared Memory）<br />
<br />
&nbsp;&nbsp; &nbsp;1.4&nbsp; CPU 缓存<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.4.1&nbsp; 缓存一致性（Cache coherence）<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.4.2&nbsp; MESI协议（MESI protocol）<br />
<br />
&nbsp;&nbsp; &nbsp;1.5&nbsp; 线程<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.5.1&nbsp; 起源（Source）<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.5.2&nbsp; 优势（Advantages）<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.5.3&nbsp; 类型（Types）<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.5.4&nbsp; 模型（Models）<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.5.5&nbsp; 实现（Implementations）<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.5.6&nbsp; 安全（Security）<br />
<br />
&nbsp;&nbsp; &nbsp;1.6&nbsp; 内存模型&nbsp; (Memory Model)<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.6.1&nbsp; 可见性（Visibility）<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.6.2&nbsp; 原子性（Atomicity）<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.6.3&nbsp; 顺序性（Order）<br />
&nbsp;&nbsp; &nbsp;<br />
&nbsp;&nbsp; &nbsp;1.7&nbsp; 互斥（ Mutual Exclusion）<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.7.1&nbsp; 阻塞同步（ Blocking Synchronization）<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.7.1.1 临界区（Critical Section）<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.7.1.2&nbsp; 锁（Lock）<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.7.1.2.1&nbsp; 类型（Types）<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.7.1.2.1.1&nbsp; 自旋锁（Spinning Lock）<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.7.1.2.1.2&nbsp; 标签锁（Ticket Lock）<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.7.1.2.1.3&nbsp; 偏向锁（Biased Lock）*<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.7.1.2.2&nbsp;&nbsp; 数据库锁（Database Lock）*<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.7.1.2.2.1&nbsp;&nbsp; 消极锁<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.7.1.2.2.2&nbsp;&nbsp; 乐观锁<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.7.1.2.3&nbsp; 问题（Problems)<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.7.1.2.3.1&nbsp; 活锁（Live Lock）<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.7.1.2.3.2&nbsp; 死锁（Dead Lock）<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.7.1.2.3.3&nbsp; 优先级倒置（Priority Inversion）<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.7.1.2.3.4&nbsp; 其他（Others）&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<br />
<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.7.2 非阻塞同步（Non-Blocking Synchronization）<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.7.2.1&nbsp; Wait-free算法<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.7.2.1.1&nbsp; 比较交换算法（Compare-And-Swap, a.k.a CAS）<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.7.2.1.2&nbsp; 连接加载/条件存储（Load-link/Store-conditional）<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.7.2.1.3&nbsp; ABA问题<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.7.2.2&nbsp; Lock-free<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.7.2.3&nbsp; Obstruction-free<br />
<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.7.3&nbsp; 重进入（Reentrant）<br />
<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.7.4&nbsp; 监视器（Monitor）<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.7.4.1&nbsp; 等待和信号（Wait and Signal）<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.7.4.2&nbsp; 条件变量（Condition Variable）<br />
<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.7.5&nbsp; 信号灯（Semaphore）<br />
<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.7.6&nbsp; 双检查锁（Double-Checked Locking, a.k.a DCL）<br />
<br />
&nbsp;&nbsp; &nbsp;1.8&nbsp; 内存栅栏（Memory Barrier/Fence)<br />
<br />
&nbsp;&nbsp; &nbsp;1.9&nbsp; 一致性模型（Consistency Model）<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.9.1&nbsp; 原子一致性（ Atomic consistency）<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.9.2&nbsp; 连续一致性（Sequential&nbsp; Consistency）<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.9.3&nbsp; 因果一致性（Causal Consistency）&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.9.4&nbsp; 释放一致性（Release Consistency）&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.9.5&nbsp; 最终一致性（Eventual Consistency）<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.9.6&nbsp; Delta一致性（Delta Consistency）&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.9.7&nbsp; 弱一致性（Weak Consistency）&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<br />
<br />
&nbsp;&nbsp; &nbsp;1.10&nbsp; 并发控制（Concurrency Control）<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;1.10.1&nbsp; 软件事务存储（Software Transactional Memory,a.k.a STM）<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br />
2.&nbsp; Java 基础<br />
&nbsp;&nbsp; &nbsp;2.1&nbsp; Java同步原语<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;2.1.1&nbsp; synchronized关键字<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;2.1.2&nbsp; volatile 关键字<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;2.1.3&nbsp; CAS操作-AtomicX<br />
<br />
&nbsp;&nbsp; &nbsp;2.2&nbsp; Java内存模型<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;2.2.1&nbsp; 可见性（Visibility）<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;2.2.2&nbsp; 原子性（Atomicity）<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;2.2.3&nbsp; 顺序性（Order）<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;2.2.4&nbsp; Happens-Before<br />
<br />
&nbsp;&nbsp; &nbsp;2.3&nbsp; java.lang.Thread<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;2.3.1&nbsp; 状态（State）<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;2.3.2&nbsp; 启动-Thread.start方法<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;2.3.3&nbsp; 弃用Thread.stop, Thread.suspend 和 Thread.resume方法<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;2.3.4&nbsp; 终止Thread.interrupt和Thread.interrupted方法<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;2.3.5&nbsp; Thread.join方法<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;2.3.6&nbsp; Object.wait/notify方法<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;2.3.7&nbsp; Thread.wait方法<br />
<br />
<br />
3.&nbsp; Java并发框架<br />
&nbsp;&nbsp; &nbsp;3.1J.U.C框架<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;3.1.1&nbsp; 同步<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;3.1.1.1&nbsp; 核心-AbstractQueuedSynchronizer<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;3.1.1.2&nbsp; 重进入锁-ReentrantLock<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;3.1.1.3&nbsp; 重进入读写锁-ReentrantReadWriteLock<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;3.1.1.4&nbsp; 条件变量-Condition<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;3.1.1.5&nbsp; 新通知/信号机制-LockSupport<br />
<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;3.1.2&nbsp; 限制<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;3.1.2.1&nbsp; CountDownLatch<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;3.1.2.2&nbsp; CyclicBarrier<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;3.1.2.3&nbsp; 信号灯（Semaphore）<br />
<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;3.1.3&nbsp; 原子操作 &nbsp;<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3.1.3.1&nbsp; Atomic*类<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3.1.3.2&nbsp; 操作实现-sun.misc.Unsafe<br />
<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;3.1.4&nbsp; 线程安全集合<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3.1.4.1&nbsp; CopyOnWriteArrayList和CopyOnWriteArraySet<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3.1.4.2&nbsp; ConcurrentSkipListMap和ConcurrentSkipListSet<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3.1.4.3&nbsp; ConcurrentHashMap<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3.1.4.4&nbsp; ArrayBlockingQueue<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3.1.4.5&nbsp; LinkedBlockingQueue和ArrayBlockingDueue<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3.1.4.5&nbsp; PriorityBlockingQueue&nbsp;&nbsp; &nbsp;<br />
<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;3.1.5&nbsp; 线程池<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3.1.5.1&nbsp; Executor<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3.1.5.2&nbsp; ThreadPoolExecutor<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3.1.5.3&nbsp; Callable和Future<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3.1.5.4&nbsp; ScheduledExecutorService<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3.1.5.5&nbsp; Executors<br />
<br />
4. JVM并发实现 **<br />
&nbsp;&nbsp; &nbsp;4.1&nbsp; 线程（Thread）实现<br />
&nbsp;&nbsp; &nbsp;4.2&nbsp; 监视器（Monitor）实现<br />
&nbsp;&nbsp; &nbsp;4.3&nbsp; 可见性实现<br />
&nbsp;&nbsp; &nbsp;4.4&nbsp; 原子性实现<br />
&nbsp;&nbsp; &nbsp;4.5&nbsp; 顺序性实现<br />
&nbsp;&nbsp;&nbsp; 4.6&nbsp; 其他</span>
</p>
<p><span style="font-size: medium;"><br />
</span>
</p>
<p><span style="font-size: medium;"><strong>说明：</strong>
</span>
</p>
<p><span style="font-size: medium;">&nbsp;&nbsp;&nbsp; </span>
<span style="font-size: medium;">1. 在标题后面带有符号&#8220;*&#8221;，代表这个内容可能有点于偏离主题。带有&#8220;**&#8221;的内容，可能比较难以理解。</span>
</p>
<p><span style="font-size: medium;"><br />
</span>
</p>
<p><span style="font-size: medium;">&nbsp;&nbsp; 2. 由于知识体系比较繁杂，组织起来比较宽难，因此目录结构很有可能不断地更新。该文章的Update部分或者标题也会同步更新。</span>
</p>
<p><span style="font-size: medium;"><br />
</span>
</p>
<p><span style="font-size: medium;">&nbsp;&nbsp;&nbsp; 3.一旦章节的内容完结，目录会即时更新链接，请大家留意。</span>
</p>
<p><span style="font-size: medium;">&nbsp;&nbsp;&nbsp; 4.作者能力和学识有限，如果读者还有更加感兴趣的议题，或者任何错误、意见和建议，不妨直接留言或者发邮件来讨论。如果能够合著的话，那是更加完美了。</span>
</p>
<p><span style="font-size: medium;"><br />
</span>
</p>
<p><span style="font-size: medium;">&nbsp;&nbsp;&nbsp; 5.文章转载前，请联系文章的作者。</span>
</p>
<p>谢谢<img src="http://mercyblitz.javaeye.com/images/smiles/icon_arrow.gif" alt="" />
，EOF！</p>
<img src ="http://www.blogjava.net/mercyblitz/aggbug/330079.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/mercyblitz/" target="_blank">Mercy</a> 2010-08-27 17:48 <a href="http://www.blogjava.net/mercyblitz/archive/2010/08/27/330079.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>