《Java 多线程入门教程》简介

很多人反映:学完了Java 多线程,但是不知道怎么去使用?感觉学了,跟白学一样。

为了解决这个问题,站长特意编写了《Java 多线程入门教程》和《新线程世界》两本技术专著。

站长认为,之所以大家不知道如何使用多线程,归根结底在于没有深刻的吃透多线程技术。

多线程是计算机自身的东西,而非Java自身的特色,所以对于多线程的理解则要跳出Java这个圈子,立足于更高的角度,不要被Java所羁绊。

很多人是半路转行搞编码,接触的是快餐式的职业培训,学到的是快速使用XXX框架的本领,没有系统化的学习过《计算机系统结构》、《计算机组成原理》、《操作系统》、《汇编语言》等基础课程,从而无法跳出Java思维局限,无法站在更高的角度,导致对多线程的理解并不到位。

另外,多线程本身属于偏底层的东西,而我们平时工作往往处于业务层的编码,使用spring或者mybatis完成某个应用需求,而直接使用多线程的机会并不多,从而导致学完多线程之后有种云山雾罩的感觉,难以找到可以应用的场景。

对于Java web 开发者而言,最常用的框架是 spring 框架和 mybatis 框架。spring 框架跑在 Web 容器之内,当出现 HTTP 链接的时候,spring 框架的底层可以利用线程池技术进行多线程的处理,从而带来更高效的业务处理;mybatis 框架同样可以利用线程池技术实现多个数据库链接的复用,我们称之为“连接池”。无论是 spring 中的线程池还是 mybatis 中的连接池,都是框架为我们所设置好的,我们只需要关注业务方面的增删改查,从而让学到的多线程技术如同屠龙之术,看似高大上,实则无用武之地。

站长使用Java的历史十分久远,也用过C/C++实现过C/S版的问答系统,还用过Python开发过Web后台,还用过Dart/flutter开发过APP。通过多种开发语言的对比,站长发现Java自身的“过度封装”,屏蔽了多线程的底层原理,无形中增加了学习难度。这对Java从业者来说,也算是一种不幸吧。

关于Java多线程的内容,网上则是汗牛充栋,原因就是:大家都在研究多线程,但是都没有研究透,所以你写点,我写点,到处都是关于Java多线程的介绍。如果是C/C++从业者,他们可能开门见山的看到多线程的底层,从而在学习多线程的过程中理解的更透,没有那么大难度,不像Java带给大家那种“云山雾罩”的朦胧。

《Java 多线程入门教程》和《新线程世界》是站长做写的两本技术专著,当然称之于“专著”则有夸张之嫌,毕竟部分内容也是参考和引用他人作品。当然,站长也欢迎更多的人参与进来,集思广益,把这两本技术专著增加的更厚重。

目前《Java 多线程入门教程》已经公开,并陆续修订过程中,大家可以常过来看看。而《新线程世界》是站长的原创作品,包括了大量对多线程技术的深度理解,只限于红黑鸟技术联盟成员专享,也欢迎大家申请加入红黑鸟技术联盟