1024程序员节福利最全面的Java后端零基础学习路线(附带教程链接)
Posted 兴趣使然的草帽路飞
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1024程序员节福利最全面的Java后端零基础学习路线(附带教程链接)相关的知识,希望对你有一定的参考价值。
大家好,我是路飞!Java后端从入坑到放弃的学习路线来啦!
阅读文章之前,欢迎大家加入抱团学习社区:抱团内卷,冲大厂,以及我们的自学大家庭:941088436
1、JavaSE 基础知识
JavaSE 基础知识,是大部分入坑Java的小白们必须经历的一个阶段。这里我建议那些学习时间充裕的大一的学弟们,可以参考一下尚硅谷、黑马程序员的网课,他们的课程课时较长,课程比较细致,此外,最好结合相关书籍去系统性学习;而对于大二、大三(Java基础差,之前没有好好学习,或者非科班出身)的学弟们,由于学习时间有限,即将面临实习、校招,这里我建议可以看狂神老师的Java基础课程,课时较短,比较通俗容易理解,能够帮大家快速补上Java基础知识的短板。
- 视频链接(推荐):【狂神说Java】Java零基础学习视频通俗易懂、狂神说Java——网络编程、
- 视频链接:黑马程序员全套Java教程_Java基础入门视频教程,零基础小白自学Java必备教程
- 视频链接:尚硅谷Java零基础入门教程(含百道Java真题,2万多行Java代码实战)
- 推荐书籍(推荐):《Java编程思想》、《Java核心技术卷 I》、《Java核心技术卷 II》
- 书籍获取:推荐书籍汇总
- 综合案例练习:Java实现贪吃蛇小游戏、Java实现坦克大战小游戏
注:非常建议0基础的小伙伴,可以先看一看狂神老师的JavaSE课程,快速入门一下,然后回头看书复习一遍,可以学得很扎实哦!
2、JavaWeb 阶段
2.1 Web 基础——前端知识(html、CSS、javascript)
作为一个后端开发者,不仅要精通后端方向的技术栈,前端方向的一些基础知识也是要了解一下的!同样的,对于大三、大四急需投递实习或者校招的同学,可以选择看狂神老师的快速入门版本;而对于大一、大二的同学,学习时间充裕的情况下,尽量以硅谷和传智的完整教程为主!
狂神老师快速入门版:
- HTML教程链接:【狂神说Java】HTML5完整教学通俗易懂
- CSS教程链接:【狂神说Java】CSS3最新教程快速入门通俗易懂
- JavaScript教程链接:【狂神说Java】JavaScript最新教程通俗易懂
尚硅谷、黑马程序员完整版:
- 视频链接:【尚硅谷】Web前端零基础入门HTML5+CSS3基础教程、【尚硅谷】JavaScript基础&实战丨JS入门到精通全套完整版
- 视频链接:【黑马程序员】前端HTML5+CSS3+移动Web全套教程、【黑马程序员】JavaScript全套教程
2.2 Web基础——前端知识(jQuery、Ajax、Vue、UI框架)
对于jQuery、Ajax的掌握程度,大家会使用即可,并不需要去看一些很细致很完整的教程,因为后期自己在做项目的时候,这部分东西写着写着就熟悉了。而对于Vue,我是很建议大家花时间细致去学一学的(如果学习时间充裕的话)!至于UI框架的话,其实会搬运组件即可,知道一些栅格布局知识等等就可以啦!
快速入门版:
- 视频链接:【狂神说Java】一小时掌握Ajax
- 视频链接:【黑马程序员】4天快速掌握jQuery
- 视频链接:【【狂神说Java】Vue最新快速上手教程通俗易懂】、【编程不良人】2021最新Vue全家桶系列教程
- 视频链接(了解即可):【编程不良人】适合后端开发人员的bootstrap超详细使用教程、【编程不良人】适合后端编程人员的 ElementUI教程
注:前端方向的学习内容远远不止这些,但是对于后端方向的校招生,会使用上面的一些内容即可,毕竟术业有专攻,各有各的侧重点。如果对前端方向感兴趣的小伙伴们,可以私信或者留言给我,有时间也可以给大家出一篇前端学习路线文章。
前端这些知识,不要求每一位同学深入掌握,所以就不推荐书籍了,直接看视频教程即可!
2.3 Web基础——mysql数据库
数据库的种类很多,对于校招生,我们把侧重点放在MySQL数据库上就行啦,这一小节只是入门学习MySQL阶段,后面小节会继续总结MySQL进阶学习教程。
视频教程:
- 视频地址(推荐):【狂神说Java】MySQL最新教程通俗易懂
- 视频地址(推荐):【韩顺平讲MySQL】零基础一周学会MySQL -sql mysql教程 mysql视频 mysql入门
- 视频地址:【尚硅谷】MySQL数据库入门全套视频
- 菜鸟教程:SQL语法入门
- 推荐书籍:《高性能MySQL》、《深入浅出MySQL》、《MySQL权威指南 第3版》
- 书籍获取:推荐书籍汇总
注:MySQL基础入门阶段,可以先以网课为主,先学会用,之后深入学习MySQL阶段再看书去追求深入学习!
2.4 Web基础——Servlet、JSP、JDBC
JavaWeb学习阶段要重视Servlet、JDBC、 Tomcat这部分的学习,而JSP标签语法可以作为次要(目前很少有公司继续使用JSP作为页面渲染了),这里直接推荐狂神老师的课程,硅谷和黑马程序员也有类似的课程,但是课时比较长。我认为应该先快速入门一下,然后做综合案例沉淀即可!
- 视频地址(推荐):【狂神说Java】JavaWeb入门到实战、尚硅谷JDBC核心技术、尚硅谷最新版JavaWeb全套教程,Java Web零基础入门完整版
- 综合案例练习:JavaWeb视频教程(JSP/Servlet/上传/下载/分页/MVC/三层架构/Ajax)、黑马JavaWeb网上商城、Java Web项目实战 黑马旅游网(IDEA版)
注:对于大三学生即将面临实习、校招,如果时间不充裕的情况下,可以跳过JavaWeb阶段的综合案例练习,直接看框架阶段的项目练习教程,而大一大二学生,学习时间充裕的话,尽量学习完Web阶段后,就做一下上面的几个小案例练习一下(任选一个即可)。
3、后端框架阶段
框架阶段的学习是整个Java阶段技术体系最繁琐最重要的阶段,其中主要以SSM:Spring(Java后端的核心灵魂)、Spring MVC、Mybatis为基础,在SSM三大框架掌握的基础之上,可以继续学习Spring Boot(以后吃饭的工具)等进一步封装Spring的框架。
框架阶段学习很重要,但是对于目前还是学生的大家,千万不要以堆积框架为方向去准备校招求职面试,学几个重要的框架即可,切勿把时间都放在堆积框架而忽略基础夯实!
个人建议:这一阶段在学习时,一定要反复练习使用,多做一些项目案例,提高熟练度!
3.1 SSM框架学习
SSM三大框架学习:
- 狂神老师的SSM系列课程(适合快速入门):【狂神说Java】Spring5最新完整教程IDEA版通俗易懂、【狂神说Java】SpringMVC最新教程IDEA版通俗易懂、狂神说Java】Mybatis最新完整教程IDEA版通俗易懂、【狂神说Java】SSM框架最新整合教学IDEA版、【狂神说Java】SpringBoot最新教程IDEA版通俗易懂
- 编程不良人SSM系列课程:【编程不良人】Spring 从入门到精通、【编程不良人】继spring之后快速入门springmvc、【编程不良人】2021Mybatis基础入门篇、【编程不良人】快速入门Spring,SpringBoot、SpringCloud学不好完全是因为Spring没有掌握!
- 尚硅谷全套SSM教程(推荐):Spring注解驱动开发_spring源码版-雷丰阳、【尚硅谷】SpringMVC 2021新版教程、尚硅谷MyBatis实战教程全套完整版、雷丰阳2021版SpringBoot2零基础入门SpringBoot全套完整版
- 传智播客全套SSM教程:黑马程序员最全SSM框架教程、黑马程序员SSM框架合集
- 图灵学院全套SSM教程:2021图灵学院SSM框架教程了——0基础到精通
扩展:
如果时间充裕,扩展学习一些常见的框架,对大家做项目案例还是很有帮助的。
- MyBatis-Plus:【狂神说Java】MyBatisPlus最新完整教程通俗易懂
- Spring Data JPA:数据层全栈方案Spring Data高级应用
- Spring Security:黑马程序员快速入门Spring Security OAuth2.0认证授权
3.2 项目实战
SpringBoot项目实战教程(学以致用,巩固沉淀):
- 个人博客项目实战:SpringBoot开发一个小而美的个人博客,该项目需要提前掌握一下 Spring Data JPA,该框架和Mybatis-Plus类似,有兴趣可以单独学习一下。
- SpringBoot聊天App项目实战:SpringBoot+Mybatis+netty 打造高性能前后端分离的聊天应用混合式APP,这个项目案例对前端掌握要求程度略高一些,因为要写很多前端代码去构建APP界面。
- SpringBoot论坛项目实战:Spring Boot项目实战博客Elasticsearch搜索,这个项目案例用到了一些中间件(例如ElasticSearch,大家在下一个学习阶段:中间件阶段需要去学习)。
- Spring Boot管理系统项目实战:SpringBoot项目实战:企业项目管理系统
- 旅游网站项目实战:【编程不良人】基于springboot+vue前后端分离旅游项目实战教程
- 办公系统项目实战:SpringBoot在线智能办公系统实战教程
3.3 推荐书籍
推荐书籍:(框架这些东西,需要大家先跟着网课学会熟练使用,然后再追求读书深入学习!)
- 书籍清单:《Spring技术内幕》、《MyBatis技术原理与实战》、《Spring源码深度解析》、《深入浅出Spring Boot》
- 书籍获取:推荐书籍汇总
4、中间件阶段
中间件学习阶段,目前对于校招生来说,主要学习一下ElasticSearch、Redis、MQ(Kafka/RabbitMQ/RocketMQ任选其一)即可。 其中Redis不光要学会使用,更重要的是需要去了解一些其原理层面的知识。
- Redis缓存教程推荐:【狂神说Java】Redis最新超详细版教程通俗易懂、【编程不良人】适合后端编程人员的Redis实战教程、【编程不良人】如何基于springboot优雅设计一个秒杀系统乐观锁解决超卖、Redis缓存、令牌桶桶限流等方案、【尚硅谷】Redis 6 入门到精通 超详细 教程
- ElasticSearch教程推荐:【狂神说Java】ElasticSearch7.6.x最新完整教程通俗易懂、【狂神说Java】ElasticSearch搜索实战仿京东搜索、【编程不良人】适合后端编程人员的elasticsearch快速实战教程、【尚硅谷】ElasticSearch教程入门到精通,基于ELK技术栈elasticsearch 7.8.x版本
- MQ消息中间件教程推荐:【学相伴】RabbitMQ最新完整教程IDEA版通俗易懂、【编程不良人】MQ消息中间件之RabbitMQ以及整合SpringBoot2.x实战教程、尚硅谷2021新版RabbitMQ教程丨快速掌握MQ消息中间件
注:中间件技术的学习,对校招学生不过多要求底层原理深度,因此主要是锻炼大家的使用能力,学习任何一项技术,都需要先会使用,然后再追究其原理!
5、微服务阶段
微服务阶段的学习,需要大家掌握各种各样的组件,目前常见的开源的微服务一站式解决方案有:Spring Cloud、Spring Cloud Alibaba、Dubbo等等。
由于目前各个互联网大厂的微服务解决方案都有各自的自研体系,因此,这一学习阶段主要是入门了解,不需要花过多时间在一阶段上面,但是要搞懂到底什么是微服务,它比传统的单体应用开发优势在哪里?微服务不同模块之间的调用方式是怎样实现的?
- Spring Cloud教程推荐:【狂神说Java】SpringCloud最新教程IDEA版——入门版、【编程不良人】Spring CLoud 微服务从入门到精通、黑马程序员Spring Cloud 全套教程
- Dubbo教程推荐:【编程不良人】dubbo 从入门到精通、黑马程序员Dubbo快速入门、尚硅谷雷丰阳——Dubbo快速入门教程
项目案例推荐:
- 【尚硅谷】金融项目——尚融宝:https://www.bilibili.com/video/BV1VV411n7nR
- 【尚硅谷】电商项目——谷粒商城:https://www.bilibili.com/video/BV1np4y1C7Yf?spm_id_from=333.999.0.0
- 【尚硅谷】在线教育项目——谷粒学院:https://www.bilibili.com/video/BV1fi4y1x7on?spm_id_from=333.999.0.0
- 【尚硅谷】医疗项目——尚医通:https://www.bilibili.com/video/BV1V5411K7rT?spm_id_from=333.999.0.0
- 【黑马程序员】支付项目——闪聚支付:https://www.bilibili.com/video/BV17v411V79c?spm_id_from=333.999.0.0
- 【黑马程序员】电商项目——畅够商城:https://www.bilibili.com/video/BV1GE411G7Hg?spm_id_from=333.999.0.0
- 【黑马程序员】电商项目——乐优商城:https://www.bilibili.com/video/BV14E411i7rc?spm_id_from=333.999.0.0
微服务这部分的项目练习,我觉得主要是增加大家对微服务开发流程的了解,选一个项目练习就够了,这几个项目路飞都跟着做过,有些地方其实都是千篇一律的模子,不建议把这些项目放到简历里面,更建议大家把自己做的项目或者阅读的开源项目作为自己的简历项目!
6、计算机基础学科知识(重中之重的基础)
大厂校招面试中,计算机基础学科知识的考查是非常常见的,可以不夸张的说,大厂校招面试,百分之九十以上的概率都会被问到计算机基础学科相关的问题,例如计算机网络的HTTP协议,操作系统IO模型等等。
培训机构的课程往往是不会花时间在这些基础学科讲解上面的,因为培训班的目的是为了让学生找一份程序员的工作,相比于花大精力在计算机基础学科教学,他们更愿意花时间在快速突击的框架课程上面(小公司更在意你能不能上手干活,而大厂更在意你的培养潜力)。
对于计算机基础学科的学习,我建议大家尽量回归书本学习,高校中的应用框架教程可能没有培训班讲的那么前沿,但是高校科班的计算机基础学科课程还是很值得上课跟着老师认真听讲的。
计算机网络
- 教程推荐:王道计算机考研 计算机网络
- 推荐书籍:《图解HTTP》、《HTTP权威指南》、《TCP-IP详解(卷一、二、三)》、《自顶向下计算机网络》
- 书籍获取:推荐书籍汇总
操作系统
- 教程推荐:王道计算机考研 操作系统
- 推荐书籍:《深入理解计算机操作系统》
- 书籍获取:推荐书籍汇总
计算机组成原理
计组在校招中考察的比较少,所以对于不考研的同学,了解一下即可。
- 教程推荐:王道计算机考研 计算机组成原理
数据结构与算法
- 教程推荐:尚硅谷Java数据结构与算法、【编程基础】美女老师带你轻松搞定数据结构与算法
- 推荐书籍:《算法图解》
- 书籍获取:推荐书籍汇总
7、深入学习MySQL数据库
MySQL数据库是目前国内互联网企业最常用的关系型数据库之一,目前大厂校招面试中,MySQL数据库除了考察一些SQL场景问题,还会考察校招生对索引原理、数据库引擎、锁、隔离级别、日志等方面的掌握程度。
对于深入学习MySQL数据库,回归书本是比较好的一种方式,这里也简单给大家推荐一些教程,但是视频教程都只是某一个侧重部分,没有权威的书籍全面。
- 推荐书籍:《高性能MySQL》、《深入浅出MySQL》、《MySQL权威指南 第3版》
- 书籍获取:推荐书籍汇总
- 推荐网课:【编程不良人】这一次彻底搞定MySQL索引、尚硅谷MySQL数据库高级,mysql优化,数据库优化、【马士兵】MySQL索引原理、事务、MVCC、锁、调优、分库分表、Explain、读写分离、ACID、主从复制…教程、MySQL索引+调优+事务+锁+面试题
8、深入学习JVM
- 推荐书籍:《深入理解Java虚拟机第3版》
- 书籍获取:推荐书籍汇总
- 视频教程推荐:尚硅谷宋红康JVM全套教程(详解java虚拟机)、黑马程序员JVM完整教程、深入理解Java虚拟机(JVM性能调优+内存模型+虚拟机原理)
9、算法(持续刷题)
算法虽然放在第9这个位置,但是它的重要程度应该是最高的,建议小伙伴,学完语言的语法知识(Java或者C++均可),就开始尝试去接触数据结构与算法知识,然后累计刷题!
算法能力是需要日积月累,短时间无法快速突击上来的,坚持leetcode每日一题,每天进步亿点点!
下面是一些算法刷题网站:
- AcWing:https://www.acwing.com/
- LeetCode:(累计300道题,应该就可以应付校招面试了)https://leetcode-cn.com/
注:刷题没有捷径,只有量变引起质变的一个过程。
10、开源项目
10.1 RuoYi
- 若依:RuoYi是一个后台管理系统,基于经典技术组合(Spring Boot、Apache Shiro、MyBatis、Thymeleaf)主要目的让开发者注重专注业务,降低技术难度,从而节省人力成本,缩短项目周期,提高软件安全质量。
- 项目演示地址:http://demo.ruoyi.vip/login,账号:
admin
、密码:admin123
功能展示:
- Gitee地址:https://gitee.com/y_project/RuoYi
- GitHub地址:https://github.com/yangzongzhuan/RuoYi
- 文档地址:https://doc.ruoyi.vip/ruoyi/
该项目有多种不同版本,可以分为前后端一体版本、前后端分离版本、微服务版本,大家可以根据自己的学习情况和技术栈广度自行选择。
10.2 EL-Admin
- EL-Admin:一个基于 Spring Boot 2.1.0 、 Spring Boot Jpa、 JWT、Spring Security、Redis、Vue、Element-UI 的前后端分离的后台管理系统。
- 项目演示地址:https://el-admin.xin/,账号:
admin
、密码:123456
功能展示:
- Gitee地址:https://gitee.com/elunez/eladmin
- GitHub地址:https://github.com/elunez/eladmin
- 文档地址:https://el-admin.vip/guide/
10.3 蘑菇博客
- 蘑菇博客:一个基于微服务架构的前后端分离博客系统。Web 端使用 Vue + ElementUi , 移动端使用 uniapp 和 ColorUI。后端使用 SpringCloud + SpringBoot + Mybatis-plus进行开发,使用 Jwt + SpringSecurity 做登录验证和权限校验,使用 ElasticSearch 和 Solr 作为全文检索服务,使用 Github Actions完成博客的持续集成,使用 ElasticStack 收集博客日志,文件支持上传本地、七牛云 和 Minio。
- 项目案例演示:
博客前端地址:http://demoweb.moguit.cn/#/
博客后端地址:http://demoadmin.moguit.cn/,账号:mogu2021
、密码:mogu2021
10.4 newbee-mall
- newbee-mall:是一套电商系统,包括 newbee-mall 商城系统及 newbee-mall-admin 商城后台管理系统,基于 Spring Boot 2.X 及相关技术栈开发。 前台商城系统包含首页门户、商品分类、新品上线、首页轮播、商品推荐、商品搜索、商品展示、购物车、订单结算、订单流程、个人订单管理、会员中心、帮助中心等模块。 后台管理系统包含数据面板、轮播图管理、商品管理、订单管理、会员管理、分类管理、设置等模块。
- 演示地址:http://mall.newbee.ltd/?from=github
10.5 SpringBoot-ElasticSearch
- SpringBoot-ElasticSearch:基于Springboot2.1.1+elasticsearch6.5.3搭建的企业级搜索平台,支持PB级数据(需要elasticsearch分布式部署),目前已经支持中文分词,检索关键词高亮操作。
- Gitee地址:https://gitee.com/11230595/springboot-elasticsearch
- 演示截图:
注:本篇文章只给大家推荐了5个开源项目,这些项目都是在Gitee、GitHub上的星标项目,大家可以自己去搜集一些自己感兴趣的项目,自己一个人或者几个人一起去读一读代码,去吃透项目的业务逻辑、功能模块。看开源项目非常耗费时间,但是大家花时间去掌握之后,会比看视频做的项目写在简历里更有价值。
12、JDK源码
看源码,我就不再推荐视频教程了,既然已经到了阅读源码阶段了,大家多少都已经对Java这门语言有足够的熟悉程度了,我认为最高效的学源码方式就是看博客、看书,自己搭建源码阅读环境,一步一步的去debug。
对于初次接触JDK源码的同学,可以试着从简单的部分学起,比如java.lang
包下的 Object、String、StringBuilder、StringBuffer等等,以及java.util
包下的简单集合ArrayList、LinkedList、Hash Map等等,然后逐步去看current包(JUC)下的源码等等。
这里给大家推荐一下:彤哥源码,他的文章讲解的非常细致。
- 推荐书籍:《并发编程之美》、《并发编程实战》
- 书籍获取:推荐书籍汇总
13、深入学习Spring
Spring源码非常庞大,哪些网上吹自己面试时候能手写Spring源码的,其实都是阉割版,真正的Spring源码体系是非常庞大的,就算照着源码抄,面试环节的一两个小时也根本抄不完!
对于校招生面试,我们不需要把《Spring源码深度解析》这本书的十几个章节都搞懂,只需要重点去看IOC容器、AOP、Bean加载等几个核心模块的源码即可。
- 推荐书籍:《Spring源码深度解析》yyds的一本书!
14、设计模式
23种设计模式,我们不需要全部掌握,也很难全部掌握,只需要会几种面试常考的设计模式即可。
校招面试,常考设计模式有:工厂模式、单例模式、代理模式、策略模式、适配器模式、模板模式等等。
- 教程推荐:黑马程序员Java设计模式详解,全网最全23种Java设计模式
- 推荐书籍:《大话设计模式》
15、深入学习Netty
- 推荐书籍:《Netty4核心原理与手写RPC框架实战》、《Netty权威指南》
- 书籍获取:推荐书籍汇总
- 教程推荐:黑马程序员Netty全套教程、尚硅谷Netty视频教程
16、Linux、Docker
Linux、Docker这一学习阶段,知道一些常见命令和一些基本操作即可。
- 推荐书籍:《鸟哥的Linux私房菜(第3版)》
- 书籍获取:推荐书籍汇总
- 推荐教程:【小白入门 通俗易懂】2021韩顺平 一周学会Linux、【狂神说Java】Docker最新超详细版教程通俗易懂
17、Git(会用即可)
Git会使用即可,主要还是动手操作,命令行模式也好,IDEA可视化操作方式也好,自己知道怎么用就够了,平时我自己也是用IDEA操作居多。
- 推荐教程:【狂神说Java】Git最新教程通俗易懂
18、面试题和八股文
Java后端校招面试,不光要掌握一些技术栈和项目经历,背八股文面试题也是必须的。这里主要给大家推荐以下几个刷八股文面试题的网址:
18.1 JavaGuide
- JavaGuide:https://snailclimb.gitee.io/javaguide/#/
18.2 牛客网
牛客网有很多大厂面经,都是一些大佬们参加校招面试上岸大厂后,对自己的面试经历进行复盘总结,他们会把一些自己面试中遇到的问题写成帖子分享出来(他们只总结面试问题,没有给出答案),我们要做的就是总结这些经常在面试环节出现的问题,自己去搜集答案,然后整理起来,尤其是对于哪些自己不会的问题,要反复研究反复理解。
18.3 LeetCode
LeetCode:https://leetcode-cn.com/leetbook/
推荐书籍汇总
回复 002 获取学习路线博客MD版本、以及文章推荐的电子书。
最后,希望每一位普通本科出身,正在埋头自学的小伙伴,要对自己的努力有足够的信心!祝一键三连的大家前程似锦,offer连连!
以上是关于1024程序员节福利最全面的Java后端零基础学习路线(附带教程链接)的主要内容,如果未能解决你的问题,请参考以下文章
1024程序员节:51CTO博客送福利啦,千件实体好礼,零门槛瓜分;;;