Java后端开发的学习路线图(分3个阶段)

2,268 阅读6分钟

1、系统性学习的感悟

小汪:最近在学校,老师经常说要对专业做系统性学习。我是学石油专业的,在学校里自学Java开发有一年时间了,以后找工作想当程序员,如何进行系统性学习呢?

大榜:小伙子,你觉悟很高啊。系统性学习顾名思义就是要对某个专业或者行业进行系统性且覆盖性的学习,而不是点对点的学习。最近我有个感悟,咱们一起分享探讨下。这几天我看到了JavaGuide、CodeSheep两位前辈的关于Java 学习线路图的文章。我有感而发,决定根据自己的实际情况(4年Java编程经验,2年工作经验)给自己也设定一个Java后端开发的系统学习路线图,如下图所示。

由于这个路线图太庞大,我一时半会学不完,所以我根据自己的实际情况,分为3个阶段(α、β、γ)来逐步完成这个Java学习路线图。

2、学习路线图的3个阶段

小汪:仔细看了下这个学习路线图,是挺清晰的,缺点是太庞大复杂了,对于我这样的初学者,肯定会被吓走,或者是从入门到放弃。α、β、γ阶段听着很牛逼啊。我作为一个在校大学生,感觉也可以尝试设定符合自己逐步走的系统学习路线图。大榜哥,你把给我说道说道,我找点设定目标的灵感?

大榜:哈哈,是啊。如果直接按照这个路线图往下走,实践性不强。于是我把系统学习路线图划分为3个阶段,分别是α、β、γ阶段。α阶段的学习路线图,我会把重心Java基础、数据库、应用框架、研发工具上,最后会实战一个容易上手的前后端分离的项目,如下图所示。

如上图所示,这个阶段的学习,我只希望会使用数据库、Spring框架,框架先用起来,用得熟练后,我们在下一个阶段去学习和摸索原理。准备参考的书籍主要有《Java编程的逻辑》、《Head First Java》等,应用框架的学习参考《分布式中间件技术实战(Java版)》。

小汪:嗯嗯,这个α阶段的学习路线图很适合我,按照你这个路线图的话,我目前已经学习到了研发工具这个模块。等去图书馆,我也搞一个适合自己的学习路线图。有个问题啊,学习完α阶段的学习路线图后,β阶段是什么路线?

大榜:α阶段,我的主要目标是对Java基础知识,采用对比差异法进行回顾,所谓温故而知新嘛。β阶段的路线图,由于有了Java基础,我会把重心放在多线程/并发、MySQL优化、分布式、高并发、高可用的学习与实践上,最后会对秒杀项目进行初步实战和复盘总结,如下图所示。准备参考的书籍,主要有《深入浅出Java多线程》、《高性能MySQL优化》、《凤凰架构》等。

小汪:感觉β阶段是α阶段的升级版,相比于α阶段,增加了多线程/并发、MySQL优化、分布式、高并发等章节,还有一个秒杀项目,感觉有点东西。这个阶段,如果你要走下去,应该要花很多时间和精力吧?

大榜:嗯嗯,是的了,坚持就是胜利。α阶段的要求是对Java API和框架会用就可以了,但β阶段的路线图要求对框架原理有一定的理解,而且多线程/并发章节的学习是个很大的话题,需要一定的反复和回炉学习。

小汪:榜哥的精神可嘉!对了,刚刚,你提到的对比差异法,是你自创的吗,它是个啥?

大榜:哈哈,确实是我根据以往在学习、工作中的经验,自创的学习法。所谓对比差异学习法,说简单点,就是对于知识点或者功能的学习,我首先编写出正确的程序、错误的程序,并对照学习,对比得到为什么这个是正确的,而另一个是错误的。这种做法,可以增强对知识点的学习、记忆和进一步理解。

小汪:榜哥,你这么一说,我觉得很好道理,我上次期末考试时,也是按照对比差异的方法来复习,复习知识点的速度比以前快了很多。编程学习的话,采用对比差异学习法,我晚上回图书馆验证一下。

大榜:小伙子,可塑性很强啊,实践出真知,没准实践下可以得出新的看法。

小汪:那γ阶段的学习路线图,应该是最上面那张大图吧。我仔细看了下,γ阶段相比于上一个阶段,增加了JVM虚拟机、设计模式、手撕算法、熟悉源码的学习。手撕算法可以多去LeetCode刷刷题,但源码分析这个章节,感觉无从下手啊。

大榜:看来你在学校里是花了功夫学习的呀。源码分析,我前段实践研究了下Spring的依赖注入源码,Debug跟踪了快20遍,才勉强看懂,确实是一块难啃的骨头。

小汪:榜哥,不要放弃啊,再坚持十分钟,哈哈哈!对了,γ阶段中,有个平稳降落的章节,感觉很有意思,是要保重自己的身体吗?

大榜:是啊,这些年,网上充斥着程序员35年被辞退,还有就是上班期间猝死等新闻,所以为了多领几年养老金,我们要注意健康,徐图长期发展,共勉。

----------------------------------------------------------------------------------------------

**后记:**文中的小汪,可能是3年前的我,大榜是工作了2年的自己,我采用过去的我与现在的自己对话的方式,是想坐着时光机回到3年前,摸摸头,告诉当前的自己,要按照Java后端开发的系统学习路线图,一步一个脚印的走下去。哈哈哈,不要伤感了,其实现在也不晚,珍惜当下、享受当下!

接下来,我会按照学习路线图一步步实践,可能是每周更新一篇,不过遇到难点,可能是两周或三周更新一篇。在后续的文章更新过程中,由于每个人的理解方式不同,可能有些重要的细节没讲到位,欢迎大家在评论区提问。受限于个人水平,一定有很多说的不对的地方,大家理解一下,友善白嫖哈。

-----------------------------------------------

参考链接:

Github 115k点赞!2021 最新Java 学习线路图重磅来袭| JavaGuide

Java后端开发学习路线「光头强版」发布