2021年全新Java学习路线图

一位专注Java开发10年的程序员老鸟(威哥)自述: 

搞Java很多年了,一直习惯把学习的知识整体成文档,多次提笔不知道先写点啥,自己一直专注于 Java 10多年了,不敢说自己技术多牛X,但一直保持着对技术的热爱,当然除了热爱还是不够的,是什么信念支撑着我到现在,用一句话来概括就是: 我当Java为初恋,时时刻刻把她念,千万 BUG 不可怕,耐心细致征服她。借李雪琴的一句话,你看,我开头不就写完了嘛。

这是我的JAVA交流群【796170550】,技术交流,就业招聘,大厂内推,教程源码视频福利应有尽有,欢迎JAVA程序员们加入~

2021年全新Java学习路线图_第1张图片

2021年全新Java学习路线图_第2张图片
————————————————

其实小白在学习Java之前,是需要做一个规划的。有了规划,学习起来才可以更高效,学习到的东西也更多。学习路上有什么问题都可以加下图美女老师微信~备注“777”有惊喜哦~一定要记得备注“777”!!!一定要记得备注“777”!!!一定要记得备注“777”!!!重要的事情说三遍。好了要进入正题了~

2021年全新Java学习路线图_第3张图片

2021全新Java学习路线图谱


从零基础入门到可以找到工作的程度,大约准备五个月到六个月左右的时间;科班出身,已经学习过java、数据库等一些课程,根据个人情况,时间适当减少。

如果你想毕业后从事java开发,最好的准备时间是大三或者研二,其次是现在!

ps: 我问过在培训机构培训过java的同学,基本上列出的学习点都覆盖了培训的内容,如果自己自制力强的话,就不需要花两万块钱去培训了~~

不过既然说到这里就再给大家推荐咕泡最近面对零基础学习Java人群的一个训练营,有兴趣的可以加群了解详情报名,群号【796170550】。

2021年全新Java学习路线图_第4张图片

第一阶段:Java基础
建议用时:30天 


重点知识点:数据类型、核心语法、面向对象、数组、集合、IO流、String/StringBuffer/StringBuilder、线程、并发、反射、泛型
学习Java开发,首先要学习java基础知识,尤其是校招的时候非常注重基础,即使没有项目也没关系,基础一定要打好,一般笔试以及面试的第一轮,对基础的考察是比较多的。

如果是小白入门,看视频是最有助于理解的,而且是学习最快的,后面再查缺补漏的时候,就看看书就好了,或者回头翻一下笔记。如果已经学过java基础的知识,也可以直接翻一遍书,复习复习即可。看视频的时候不能只听不练,建议用IDEA工具,更普遍一些。

推荐一本java基础的书籍:《JAVA核心技术 卷1》,入门书籍看这一本就够了,对照上面列出的知识点,吃透这些基础知识,就可以了,后面的Swing、applet等等就不需要看了。

第二阶段:数据库
建议用时:7天

重点知识点:基本的增删改查,SQL 命令,索引、存储过程;JDBC
主流的数据库有MySQL、Oracle、SQL Server等等,你只需要搞定一个就可以了,知识都是相通的,一通百通。目前公司里用到MySQL的比较多,所以建议大家学习MySQL数据库。

MySQL数据库视频:

第三阶段:JavaWeb
建议用时:7天


重点知识点:HTML、CSS、JS、jQuery框架、Servlet程序、Filter过滤器、Listener监听器、JSP页面、EL表达式、JSTL标签库、Cookie技术、Session会话、JSON使用、Ajax请求、Tomcat、maven等等

Java开发的岗位大多是Web开发,所以最好学一学前端的基础,虽然现在都是前后端分离的方式,但是你要懂前端界面和后端数据是怎样交互的,与前端工程师的沟通合作会更加顺利。另外,像一些小公司要求全栈,希望招来的后端开发也能做一些前端的工作,省一些人力成本。

第四阶段:框架
建议用时:20天

重点知识点:Spring、SpringMVC、SpringBoot、Mybatis

如果时间非常紧张,可以直接看Springboot和Mybatis,SpringBoot简化配置,非常好理解,这两个框架学完,就能看懂项目了,理解的深度肯定有限的。

下面这个视频着重介绍SpringBoot的使用和内部原理,包含微服务概念、配置文件、日志框架的使用、web开发、Thymeleaf模板引擎、Docker容器技术等等。

Mybatis的视频主要讲的是配置文件编写、动态SQL、MyBatis缓存机制、MyBatis-Spring整合、MyBatis逆向工程,MyBatis高级内容(MyBatis源码解析,MyBatis单/多插件运行机制,MyBatis四大对象工作原理,自定义TypeHandler、MyBatis存储过程&游标处理等)。

时间宽裕的情况下,Spring、SpringMVC都学习一下,搞懂 AOP 和 IOC 两个概念,以及Spring 中 bean 的作用域与生命周期、SpringMVC 工作原理,对理解Spring相关的框架非常重要。

从框架开始,就不用看书了,基础的知识多看看书,实践性强、应用性强的知识,多实践实践,看看源码,会比看书更有帮助,而且Spring相关的书,也没看到写得好的。

管理系统的项目:

学完框架后,你可以做一个管理系统的项目了,给大家推荐一个管理系统的项目--若依,这是一个基于SpringBoot的权限管理系统,虽然“若依”这个名字听起来很不科技感,但这个项目是非常好的,非常适合入门学习,有文档、有代码,社区里讨论的人也比较多。它有前后端不分离和前后端分离的两个版本。学到这里,你大概能看懂这个项目了~~

前后端不分离的版本:

经典技术组合:Spring Boot、Apache Shiro、MyBatis、Thymeleaf

前后端分离的版本:

前端采用Vue、Element UI。
后端采用Spring Boot、Spring Security、Redis & Jwt。
学到这里就可以满足找工作的基本要求了,如果着急找工作,跳过第五阶段和第六阶段,直接看第七阶段的面试准备。

第五阶段:其他热门技术
建议用时:50天

这一阶段属于拔高的部分。如果时间不够,着急找工作的话,可以跳过这部分,进入下一阶段,直接项目的学习,回头再补。

Redis数据库学习:

第六阶段:java商城项目
建议用时:45天

商城项目整合的知识点非常多,非常全,这一个项目可以把前面学到的知识,全部应用一遍,所以准备一个商场项目来面试的话,面试官能问的点有很多,能深问的点也很多。其实应届生找工作不需要特别丰富的项目经验,但如果一个项目都没有的话,肯定是不行的,面试官不知道问啥。

商城项目的视频(微服务+分布式+全栈+集群+部署+自动化运维+可视化CICD):

第七阶段:Java面试准备


某站有挺多不错的面试视频,大家可以自己去搜索。

除了上述关于Java开发知识的面试准备之外,还要刷一刷算法题。大厂最爱考算法题,从笔试到每一轮的面试,都会考察的。为什么要刷题,因为面试官出的题基本上是在书上或者网上看到的,面试官也没有时间研究新题,所以多刷题命中率很高的。

推荐一本书,《剑指Offer》,面试中经常问到这本书上的算法题或者变形题,我刷了两遍,Python一遍,Java一遍,都整理了笔记,虽然这本书中的算法题随便一搜就能搜出大量博客,但是还是书中讲的详细,提供的解题方法多,带领读者思考。

最后再推荐一个学习网站,LeetCode,可能大家也都听说过,是一个刷算法题的网站,支持Java、Python、C++等各种语言,题目分为简单、中等和困难三种模式。

刚开始刷算法题,吃力是正常的,所以大家不要怀疑自己智商。知乎上经常看到这样的问题:“初刷leecode时会怀疑自己智商吗”“刷leetcode吃力正常吗”“leetcode刷了忘怎么办”...... 这都是正常的,除了天才和绝顶聪明的人之外,我们大家都一样,都会刷了忘忘了刷,也会做不出来需要看看答案。。。

我的建议是:

把简单题和中等题多刷一些,hard 的就不要勉强自己了,hard的不会也正常
按类型刷题,先刷数组,然后链表,然后二叉树、动态规划等等
做完一道题,不要以“通过”就满足,再想想有没有更优的解法,多想几遍加深印象
反复刷,尤其是面试前要反复刷,使自己在做题的一种氛围中
————————————————
好啦,今天就讲到这里,我们下次见~

你可能感兴趣的:(java,开发语言,职场和发展,后端,spring)