根据自己的经历和见识梳理了一份java后端工程师的学习路线(不含安卓方向),难免有局限性和疏漏,请在评论区反馈意见和建议!
很明显的是我的学习路线过于庞大了【尴尬】,你可以认为这些只是我的一家之言,具体学什么,怎么学,还是要结合实际情况。比如如果是准备面试的话,就要多学一些,学的深一些。但是如果是为了日常工作的话,尽量要学以致用。这两种学习的方式就是有所差别的。
对于一个初级的java工程师来说,最重要的是学习jdk,看一下core-java,effective java,学习使用常用框架(spring等)。最好是能有实战项目,再加上自身的学历和扎实的计算机专业基础知识,BAT基本上就能在校招的时候随便挑了(最好是一本以上的学历哈,很多互联网公司也会看一下学历,毕竟是校招嘛)。
对于一个中级的java工程师来说,最重要的是学好日常生活中用的最多的框架、源码。我认为的四大金刚:jvm,并发,Spring,SpringBoot。其他的数据库等比较基础的知识,需要掌握到熟练使用的程度。
对于一个高级的java玩家来说,需要了解更底层的知识和架构的能力。不能局限于Java语言,还有兼顾到C++等语言,至少能看懂用C++代码写的框架。对操作系统有所理解,看过足够多的框架的设计架构和源码。
会不会觉得太简单了?就这?那么如果这些书都是英文版呢?因为很多国内的翻译很糟糕甚至是误导读者。如果除了看书再加上看源码和写代码调代码的实现呢?再加上阅读某些经典英文论文呢?我们会发现这条路太长太长。事实上我们永远无法学完,因为有太多的精英们在为这个领域不断地贡献。但是我们也不需要学完,而且学习不会一直很慢。
此外,在学习专业知识点的时候别忘了看一些社科类和认知类的书籍,深一点的还有哲学类的书籍,这些都是他山之石!
努力做伟大工程师