Java学习路线汇总(持续更新)

Java后端从入坑到放弃的学习路线来啦!

点赞收藏支持一下~~

1、JavaSE基础知识

JavaSE 基础知识,是大部分入坑Java的小白们必须经历的一个阶段。这里我建议那些学习时间充裕的大一的学弟们,可以参考一下尚硅谷、黑马程序员的网课,他们的课程课时较长,课程比较细致,此外,最好结合相关书籍去系统性学习;而对于大二、大三(Java基础差,之前没有好好学习,或者非科班出身)的同学们,由于学习时间有限,即将面临实习、校招,这里我建议可以看狂神老师的Java基础课程,课时较短,比较通俗容易理解,能够帮大家快速补上Java基础知识的短板。


在这里插入图片描述

:非常建议0基础的小伙伴,可以先看一看狂神老师的JavaSE课程,快速入门一下,然后回头看书复习一遍,可以学得很扎实哦!

2、JavaWeb阶段

2.1 Web 基础——前端知识(HTML、CSS、JavaScript)

作为一个后端开发者,不仅要精通后端方向的技术栈,前端方向的一些基础知识也是要了解一下的!同样的,对于大三、大四急需投递实习或者校招的同学,可以选择看狂神老师的快速入门版本;而对于大一、大二的同学,学习时间充裕的情况下,尽量以硅谷和传智的完整教程为主!

狂神老师快速入门版:

尚硅谷、黑马程序员完整版:

2.2 Web基础——前端知识(jQuery、Ajax、Vue、UI框架)

对于jQuery、Ajax的掌握程度,大家会使用即可,并不需要去看一些很细致很完整的教程,因为后期自己在做项目的时候,这部分东西写着写着就熟悉了。而对于Vue,我是很建议大家花时间细致去学一学的(如果学习时间充裕的话)!至于UI框架的话,其实会搬运组件即可,知道一些栅格布局知识等等就可以啦!

快速入门版:

:前端方向的学习内容远远不止这些,但是对于后端方向的校招生,会使用上面的一些内容即可,毕竟术业有专攻,各有各的侧重点

前端这些知识,不要求每一位同学深入掌握,所以就不推荐书籍了,直接看视频教程即可!

2.3 Web基础——MySQL数据库

数据库的种类很多,对于校招生,我们把侧重点放在MySQL数据库上就行啦,这一小节只是入门学习MySQL阶段,后面小节会继续总结MySQL进阶学习教程。

视频教程:


《MySQL权威指南 第3版》


《高性能MySQL》

:MySQL基础入门阶段,可以先以网课为主,先学会用,之后深入学习MySQL阶段再看书去追求深入学习!

2.4 Web基础——Servlet、JSP、JDBC

JavaWeb学习阶段要重视Servlet、JDBC、 Tomcat这部分的学习,而JSP标签语法可以作为次要(目前很少有公司继续使用JSP作为页面渲染了),这里直接推荐狂神老师的课程,硅谷和黑马程序员也有类似的课程,但是课时比较长。我认为应该先快速入门一下,然后做综合案例沉淀即可!

:对于大三学生即将面临实习、校招,如果时间不充裕的情况下,可以跳过JavaWeb阶段的综合案例练习,直接看框架阶段的项目练习教程,而大一大二学生,学习时间充裕的话,尽量学习完Web阶段后,就做一下上面的几个小案例练习一下(任选一个即可)。

3、后端框架阶段

框架阶段的学习是整个Java阶段技术体系最繁琐最重要的阶段,其中主要以SSM:Spring(Java后端的核心灵魂)、Spring MVC、Mybatis为基础,在SSM三大框架掌握的基础之上,可以继续学习SpringBoot(以后吃饭的工具)等进一步封装Spring的框架。

框架阶段学习很重要,但是对于目前还是学生的大家,千万不要以堆积框架为方向去准备校招求职面试,学几个重要的框架即可,切勿把时间都放在堆积框架而忽略基础夯实!

个人建议:这一阶段在学习时,一定要反复练习使用,多做一些项目案例,提高熟练度!

3.1 SSM框架学习

SSM三大框架学习:

拓展:

如果时间充裕,扩展学习一些常见的框架,对大家做项目案例还是很有帮助的。

3.2 项目实战

SpringBoot项目实战教程(学以致用,巩固沉淀):

3.3 推荐书籍

推荐书籍:(框架这些东西,需要大家先跟着网课学会熟练使用,然后再追求读书深入学习!)

  • 书籍清单:《Spring技术内幕》、《MyBatis技术原理与实战》、《Spring源码深度解析》、《深入浅出Spring Boot》
    在这里插入图片描述

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

4、中间件阶段

中间件学习阶段,目前对于校招生来说,主要学习一下ElasticSearch、Redis、MQ(Kafka/RabbitMQ/RocketMQ任选其一)即可。 其中Redis不光要学会使用,更重要的是需要去了解一些其原理层面的知识。

:中间件技术的学习,对校招学生不过多要求底层原理深度,因此主要是锻炼大家的使用能力,学习任何一项技术,都需要先会使用,然后再追究其原理!

5、微服务阶段

微服务阶段的学习,需要大家掌握各种各样的组件,目前常见的开源的微服务一站式解决方案有:Spring Cloud、Spring Cloud Alibaba、Dubbo等等。

由于目前各个互联网大厂的微服务解决方案都有各自的自研体系,因此,这一学习阶段主要是入门了解,不需要花过多时间在一阶段上面,但是要搞懂到底什么是微服务,它比传统的单体应用开发优势在哪里?微服务不同模块之间的调用方式是怎样实现的?

项目案例推荐:

6、计算机基础学科知识(重中之重的基础)

大厂校招面试中,计算机基础学科知识的考查是非常常见的,可以不夸张的说,大厂校招面试,百分之九十以上的概率都会被问到计算机基础学科相关的问题,例如计算机网络的HTTP协议,操作系统IO模型等等。

培训机构的课程往往是不会花时间在这些基础学科讲解上面的,因为培训班的目的是为了让学生找一份程序员的工作,相比于花大精力在计算机基础学科教学,他们更愿意花时间在快速突击的框架课程上面(小公司更在意你能不能上手干活,而大厂更在意你的培养潜力)。

对于计算机基础学科的学习,我建议大家尽量回归书本学习,高校中的应用框架教程可能没有培训班讲的那么前沿,但是高校科班的计算机基础学科课程还是很值得上课跟着老师认真听讲的。

计算机网络

  • 教程推荐:王道计算机考研 计算机网络
  • 推荐书籍:《图解HTTP》、《HTTP权威指南》、《TCP-IP详解(卷一、二、三)》、《自顶向下计算机网络》
    在这里插入图片描述

在这里插入图片描述


在这里插入图片描述

操作系统

计算机组成原理

计组在校招中考察的比较少,所以对于不考研的同学,了解一下即可。

数据结构与算法

7、深入学习MySQL数据库

MySQL数据库是目前国内互联网企业最常用的关系型数据库之一,目前大厂校招面试中,MySQL数据库除了考察一些SQL场景问题,还会考察校招生对索引原理、数据库引擎、锁、隔离级别、日志等方面的掌握程度。

对于深入学习MySQL数据库,回归书本是比较好的一种方式,这里也简单给大家推荐一些教程,但是视频教程都只是某一个侧重部分,没有权威的书籍全面。

《深入浅出MySQL》


《MySQL权威指南 第3版》


《高性能MySQL》

8、深入学习JVM

9、算法(持续刷题)

算法虽然放在第9这个位置,但是它的重要程度应该是最高的,建议小伙伴,学完语言的语法知识(Java或者C++均可),就开始尝试去接触数据结构与算法知识,然后累计刷题!

算法能力是需要日积月累,短时间无法快速突击上来的,坚持leetcode每日一题,每天进步亿点点!

下面是一些算法刷题网站:

:刷题没有捷径,只有量变引起质变的一个过程。

10、JDK源码

看源码,我就不再推荐视频教程了,既然已经到了阅读源码阶段了,大家多少都已经对Java这门语言有足够的熟悉程度了,我认为最高效的学源码方式就是看博客、看书,自己搭建源码阅读环境,一步一步的去debug。

对于初次接触JDK源码的同学,可以试着从简单的部分学起,比如 java.lang 包下的 Object、String、StringBuilder、StringBuffer等等,以及 java.util 包下的简单集合ArrayList、LinkedList、Hash Map等等,然后逐步去看current包(JUC)下的源码等等。

这里给大家推荐一下:彤哥源码,他的文章讲解的非常细致。

  • 推荐书籍:《并发编程之美》、《并发编程实战》

在这里插入图片描述

11、深入学习Spring

Spring源码非常庞大,哪些网上吹自己面试时候能手写Spring源码的,其实都是阉割版,真正的Spring源码体系是非常庞大的,就算照着源码抄,面试环节的一两个小时也根本抄不完!

对于校招生面试,我们不需要把《Spring源码深度解析》这本书的十几个章节都搞懂,只需要重点去看IOC容器、AOP、Bean加载等几个核心模块的源码即可。

  • 推荐书籍:《Spring源码深度解析》yyds的一本书!

在这里插入图片描述

12、设计模式

23种设计模式,我们不需要全部掌握,也很难全部掌握,只需要会几种面试常考的设计模式即可。

校招面试,常考设计模式有:工厂模式、单例模式、代理模式、策略模式、适配器模式、模板模式等等。

13、深入学习Netty

在这里插入图片描述


在这里插入图片描述

14、Linux、Docker

Linux、Docker这一学习阶段,知道一些常见命令和一些基本操作即可。

在这里插入图片描述

15、Git(会用即可)

Git会使用即可,主要还是动手操作,命令行模式也好,IDEA可视化操作方式也好,自己知道怎么用就够了。

16、面试题和八股文

Java后端校招面试,不光要掌握一些技术栈和项目经历,背八股文面试题也是必须的。这里主要给大家推荐以下几个刷八股文面试题的网址:

16.1 JavaGuide

16.2牛客网

16.3LeetCode

LeetCode:https://leetcode-cn.com/leetbook/

17、开源项目

待更新


版权声明:本文为a424345036原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。