并发系列 —— 概述
1.为什么写这个系列?
写者技术栈主要是Java后端方向,在Java整个的技术体系中并发和IO占有非常重要的地位,此系列主要讲并发。写者在学习的过程中发现并发有非常多的知识点,这些知识点有各种并发模型、算法和框架等,非常繁琐,但是整体却是一个完整的体系。写这个系列主要目的在两点:1.对自己学习过程的一个总结,形成自己的知识体系;2.分享交流,给那些初涉猎的朋友一些参考,同时也希望一些对这方面有研究的朋友拍砖指出不足。
2.这个系列主要写什么?
这个系列文章自下而上,会从并发的底层开始,然后逐渐专向Java语言层面的框架。大致的内容如下:此系列首先会简单叙述多处理器编程以及多处理器Cache一致性,多处理器以及多处理器cache是整个并发问题的根源,了解这个问题能更好的帮助我们理解之后的一些并发模型的设计;在了解了并发问题的来源之后,会讲当前主流语言的并发解决思路;聊完当前主流语言的并发套路,此系列会就Java展开,从Java的并发模型,结合JSR133等叙述Java并发的设计;最后会讲Java常见的一些并发框架和工具。
3.为什么这么写?
为什么自下而上而不是自上而下?各种论坛都有很多并发文章,这些并发相关的文章大多是自上而下,从语言层面的框架开始由浅入深的讲解,写者开始也是自上而下的学习,但是在写者阅读JUC的源码开始,就发现JUC很多工具都是一些经典问题的抽象,后来在阅读JSR133规范时也发现JMM的设计、volatile等关键字的语义也是一些经典OS模型的实现。特别是在阅读JSR133规范时觉得非常晦涩难懂,最终还是复习了大学OS课程之后才能更深入地理解JSR133规范的设计。因此在写这个系列文章时,写者考虑将这个过程变为一个增量的过程,不断提炼的过程。
浙公网安备 33010602011771号