Java学习路线,一年自学进大厂
本文旨在梳理整个Java后端的学习路线,所用图片/思路来自b站up主codeSheep,羊哥搭建的网站也有详细的学习路线:https://www.r2coding.com/。
想要找到不错的Java后端开发工作,最重要的其实分为四大部分,如下图:
编程基础、研发工具、应用框架和一些运维知识。
第一部分:编程基础
作为应届生,通过校招的方式入职,最最重要的应该就是编程能力了。很多人往往会有一种误区,Java后端工作Java语言本身应该是最重要的。语言本身固然重要,但是就校招来看,编程四大件+数据库的重要性甚至超过了Java语言本身,一定不要轻视编程基础的学习。
Java语言
包括基础语法、面向对象部分(封装继承和多态),以及一些非常重要的概念:异常、反射、注解等等。在Java基础打牢后,可以继续深入Java并发编程,阅读《Java并发编程实战》,并且配合项目进行联系。在学习后期,理论和项目经验都有的时候,一定要啃下来JVM的内容(面试及其常问),阅读周志明老师的《深入理解Java虚拟机》。
数据结构和算法
算法的重要性不言而喻,大厂必备,leetcode刷透,找工作半年前高强度算法题刷起来。
计算机网络
同样也是校招的重点,要更加深度的理解Tcp/Ip协议族,HTTP协议也是非常重要的部分
数据库、操作系统、设计模式
数据库和操作系统都是后端同学的必修课,在有一定编程经验和项目经验后要掌握常用的几种设计模式:
第二部分:研发工具
工欲善其事,必先利其器。没有强大的工具支持也没法开发出实际的项目来,工具学习的重要性应该排在编程基础之后,因为编程基础永远都是用的上的,以后的工具却不敢说就是现在热门的这些。在编程基础打牢后,尽可能的了解研发工具,为后面动手做实际项目提供帮助。
Linux操作系统使用和Shell脚本是程序员必备技能,Java程序员还应熟练掌握项目管理工具Maven,另外多多熟悉IDE(主要是idea),以及常用的代码管理工具。
第三部分:应用框架学习
后端篇
Spring全家桶无疑是Java的里程碑,要掌握SSM框架的思想,实际动手完成SSM框架的项目,Spring Boot是找工作的必备神器,也要动手完成Spring Boot的相关项目,如黑马的SSM项目。Tomcat服务器,web服务器Nginx也应该多加了解。
非常有名的NoSQL数据库Redis也是我们应该了解的,还有消息队列,Dubbo技术等中间件技术,数据库更是有很多框架和模板技术,常简的MyBatis框架、数据库连接池等等。
分布式/微服务部分,区分程序员水平的就是能否处理大的数据、大的业务,分布式的学习能让你提升一个层次,但是还是应该把注意力更多的集中到编程基础部分的学习中(不然这么多技术学到头秃),可以结合尚硅谷的谷粒商城项目进行练习,对于Docker容器技术也可以稍加了解。
前端技术
Java后端程序员对前端技术的要求并不高,稍微能看懂前端代码,了解其实现逻辑即可。为的是在后面的项目不会因为前端知识的匮乏影响整体的学习。对前端语言三大件html、css、JavaScript 稍加了解,以及对vue、React这种常用的前端框架有所了解。
第四部分:运维知识
运维知识更加偏向于实际工作层面,属于锦上添花的类型,尽量在项目中增长经验。
在学习Java后端技术的同时,我仍应该珍惜在学习的时光,去学习大数据/机器学习/深度学习技术,为以后就业提供更多的可能性。
面对这样一份长长的路线图,我常常会缺乏耐心、急于求成。是啊要学的东西那么多,哪能在Java基础/数据结构算法上浪费太多时间,要不怎么能学的完呢!但是昨天刷到一位博主的话送给大家共勉:能“坐的住”“去学和不怕”学得慢“的人最终一定会有所成就,要学的知识非常多,但我现在也要慢下来,哪怕就完成一个Java小程序,哪怕花费一天就阅读了Java的面向对象的知识,认真学习,认真写文章做好输出,相信我们终将成为技术大佬∩( ・ω・)∩