回首向来萧瑟处,归去,也无风雨也无晴。

 

蓦然回首自己做开发已经十年了,这十年中我收获了很多:技术、人脉、大厂经历等等,还有很多的朋友。可最近在回顾过去的时候,我意识到在这十年开发生涯里,有五年我没有在正确的道路上前进。虽然当中我也有很多有趣的经历,但我相信如果这五年没有困惑和迷茫,现在我会成为一个更加优秀的程序员。换言之,现在的我本该更早的来到。

很多过来的程序员都有这样的五年,现在也有很多程序员在经历这五年。我的这五年里,一直被公司和技术牵着走,并不是自己在选择技术,而是不自觉地被推到了这个位置上。技术技能都在那里,我该怎么去学?于是我开始跳出编码,我开始思考和程序员职业生涯相关的问题:面试、跳槽、学习、进阶。

当我们跳槽时面试碰壁、当我们需要在短时间内进修。如果我们基础非常扎实,一般需求都能搞定,对什么知识都能一知半解。这种情况很可能是我们所学的知识点没有系统化,很难在技术领域继续突破。我也这样迷茫过,但我希望分享一些技术经验帮到正在经历着的程序员同行们。这篇Java笔记就这样应运而生了。

先简单来看看这份笔记的目录,有包含JVM、JAVA集合、JAVA多线程并发、JAVA基础、Spring原理、微服务、Netty与RPC、网络等近30个知识分类。

 

单拿第一个JVM知识分类来说,里面又细分了线程、JVM内存区域、JVM运行时内存、垃圾回收与算法、JAVA四中引用类型、GC分代收集算法VS分区收集算法等9个小分类。

 

正文中每个知识点介绍开始都有对应的知识大纲展示,每个细分知识点的介绍都会尽可能以图文并茂的形式清楚讲解。

 

 

另外,还诸如微服务。关于微服务架构的取舍,在合适的项目,合适的团队,采用微服务架构收益会大于成本。微服务架构有很多吸引人的地方,但在拥抱微服务之前,也需要认清它所带来的挑战。

 

文档总共283页,这里篇幅有限就不一一赘述了,如果大家感觉有用的话我这边可以免费分享给大家,以下方式就可以获取。另外方便的话帮忙转发一下让需要的程序员朋友看到。

这五年相信很多程序员正在经历着或曾经经历过,有很多程序员走出来了成为架构师,也有很多程序员因此转行投身其他行业。在这里送给正在坚持的程序员一句话:

竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生。