大家好,肝了一份2021最新、最全的Java学习路线图,想送你搭上全面和系统学习Java的快车,并且指导你如何才能拿到一份不错的offer。
让我们一起:芜湖,起飞!
01
大纲
先看大纲缩略,整体了解下骨架,知识点和知识点对应的最佳学习资源,记得要往下看。
关于学习规划:
彼得给你肝的这份资料,要想通关,了解通关技巧必不可少,彼得建议:
一天至少拿出4个小时来学习,学2个小时的知识点,剩下2个小时练习代码。每天先看视频教程,然后把视频中的代码全部练习一遍,加深印象。
如果视频中有你不理解的知识点,建议暂停,百度一下别人的笔记甚至可以查找官方文档对此的描述,加深理解。
那下面进入完整的学习路线细节规划。
02
阶段1:编程基础
⑴ Java语言
① 语言基础
基础语言
数据类型
流程控制
数组
面向对象
方法
重载
封装
继承
多态
抽象类
接口
集合类
枚举
异常处理
泛型
反射
注解
I/O
学习资源:
视频:韩顺平 - 零基础 30 天学会 Java:https://www.bilibili.com/video/BV1fh411y7R8
文档:廖雪峰 Java 教程:https://www.liaoxuefeng.com/wiki/1252599548343744
② JVM虚拟机
类加载机制
字节码执行机制
JVM内存模型
GC垃圾回收机制
JVM性能监控与故障定位
JVM调优
学习资源:
视频:尚硅谷宋红康 - JVM 全套教程详解:https://www.bilibili.com/video/BV1PJ411n7xZ
书籍:《深入理解 Java 虚拟机(第三版)》
③ 多线程/并发
并发的基础
线程池
锁
并发容器
原子类
JUC并发工具类
学习资源:
视频:黑马程序员全面深入学习Java并发编程:https://www.bilibili.com/video/BV16J411h7Rd
文档:菜鸟教程:https://www.runoob.com/java/java8-new-features.html
⑵ 数据解构和算法
① 数据解构
字符串
数组
链表
堆、栈、队列
二叉树
哈希
图
② 算法
排序
查找
贪心
分治
动态规划
回溯
递归
学习资源:
在线教程:LeetCode LeetBook:https://leetcode-cn.com/leetbook/
在线刷题:LeetCode:https://leetcode-cn.com/
书籍:《剑指 Offer》
⑶ 计算机网络
ARP协议
IP协议、ICM协议
TCP、UDP协议
DNS/HTTP/HTTPS协议
Session/Cookie
学习资源:
视频:《计算机网络微课堂》:https://www.bilibili.com/video/BV1c4411d7jb
书籍:《图解 HTTP》、《图解 TCP / IP》
⑷ SQL/数据库
基本概念
MySQL搭建
SQL语句编写
约束
事物、隔离级别
索引
设计数据库表
锁
性能优化
学习资源:
视频教程: 老杜 - mysql入门基础 + 数据库实战:https://www.bilibili.com/video/BV1Vy4y1z7EX
文档:SQL - 菜鸟教程:https://www.runoob.com/sql/sql-tutorial.html
文档:MySQL - 菜鸟教程:https://www.runoob.com/mysql/mysql-tutorial.html
⑸ 操作系统
进程、线程
并发、锁
内存管理和调度
I/O原理
⑹ 设计模式
单例
工厂
代理
策略
模板方法
观察者
适配器
责任链
建造者
学习资源:
视频:尚硅谷图解 Java 设计模式:https://www.bilibili.com/video/BV1G4411c7N4
书籍:《图解设计模式》
文档:菜鸟教程:https://www.runoob.com/design-pattern/design-pattern-tutorial.html
02
阶段2:研发环境
⑴ 集成开发环境
Eclipse
intellij idea
VScode
⑵ Linux系统
基础知识
常用命令
Shell脚本编程
学习资源:
视频:2021 韩顺平 一周学会Linux https://www.bilibili.com/video/BV1Sv411r7vd
书籍:《鸟哥的 Linux 私房菜 —— 基础篇》http://cn.linux.vbird.org/linux_basic/linux_basic.php(经典)
⑶ 项目管理/构建工具
Maven
Gradle
学习资源:
视频:Maven 零基础入门教程:https://www.bilibili.com/video/BV1TW411g7hP
⑷ 代码管理工具
SVN
Git
学习资源:
视频:【尚硅谷】5h打通Git全套教程丨2021最新IDEA版 https://www.bilibili.com/video/BV1vy4y1s7k6
书籍:猴子都能懂的 Git 入门 https://backlog.com/git-tutorial/cn/
03
阶段3:应用框架
⑴ 后端框架
① Spring家族框架
Spring
IOC
AOP
SpringMVC
Spring Boot
自动配置、开箱即用
整合Web
整合数据库(事务问题)
整合权限
Shire
Spring Security
整合各种中间件
Redis、MQ
RPC框架、NIO框架
学习资源:
视频:尚硅谷 - Spring 5 框架最新版教程(idea版):https://www.bilibili.com/video/BV1Vf4y127N5
视频:尚硅谷 - SpringMVC 2021 最新教程:https://www.bilibili.com/video/BV1Ry4y1574R
视频:雷丰阳 2021 版 SpringBoot2 零基础入门:https://www.bilibili.com/video/BV19K4y1L7MT
② 服务器软件
Web服务器-Nginx
应用服务器
Tomcat
Jetty
Undertow
学习资源:
尚硅谷 - Nginx 教程由浅入深:https://www.bilibili.com/video/BV1zJ411w7SV(讲的比较全面)
③ 中间件
Redis 缓存
5大基础数据类型
事务
管道
持久化
集群
消息队列
RocketMQ
RabbitMQ
Kafka
RPC框架
Dubbo
gRPC
Thrift
Spring Cloud
Netty
学习资源:
尚硅谷 - 2021 最新 Redis 6 入门到精通教程:https://www.bilibili.com/video/BV1Rv41177Af
尚硅谷 - 2021 最新 RabbitMQ 教程:https://www.bilibili.com/video/BV1cb4y1o7zz
尚硅谷Netty教程:https://www.bilibili.com/video/BV1DJ411m7NR
④ 数据库框架
ORM层框架
Mybatis
Hibernate
连接池
Druid
HikariCP
C3P0
分库分表
MyCAT
Sharding-JDBC
Sharding-Sphere
学习资源:
尚硅谷 - MyBatis 实战教程全套完整版:https://www.bilibili.com/video/BV1mW411M737
⑤ 搜索引擎
ElaSticSearch
Solr
⑥ 分布式/微服务
服务发现/注册
Eureka
Consul
Nacos
网关
Zuul
Gateway
服务调用(负载均衡)
Ribbon
Feign
熔断/降级
Hystrix
配置中心
Config
Apollo
Nacos
认证和鉴权
Spring Security
OAuth2
SSO单点登录
分布式事务
JTA接口
Atomikos组件
2PC、3PC
XA模式
TCC模式
tcc-transaction
ByteTCC
EasyTransaction
Seata
SAGA模式
ServiceComb
Seata
LCN模式
tx-lcn
任务调度
Quartz
Elastic-Job
链路追踪和监控
Zipkin
Sleuth
Skywalking
日志分析与监控-ELK
ElasticSearch
Logstash
Kibana
虚拟化/容器化
容器技术
Docker
容器编排技术
Kubernetes
Docker Swarm
学习资源:
尚硅谷 Dubbo 教程:https://www.bilibili.com/video/BV1ns411c7jV
尚硅谷 SpringCloud(H版&alibaba)框架开发教程(微服务分布式架构):https://www.bilibili.com/video/BV18E411x7eT
【狂神说】Docker 最新超详细版教程通俗易懂:https://www.bilibili.com/video/BV1og4y1q7M4
⑵ 前端框架(通用基础)
基础套餐
三大件
HTML
CSS
JavaScript
基础库
jQuery
Ajax
模板框架
Thymeleaf
FreeMarker
组件化框架
Vue
React
学习资源:
尚硅谷最新版 JavaWeb 全套教程:https://www.bilibili.com/video/BV1Y7411K7zz
04
阶段四:运维知识
Web服务器
Nginx
应用服务器
Jetty
Tomcat
Undertow
CDN加速
持续集成/持续部署
Jenkins
代码质量检测
sonar
日志收集和分析
ELK
05
阶段四:成“神”之路
徒手撕源码
光脚造轮子
闭眼做调优
吊打面试官
06
尾声
以上就是彼得和志愿者朋友爆肝,加上付出 n * 1024 根秀发,结合个人开发经验,辅以各种优秀文章和问答,总结而成的学习路线。
希望能多多支持彼得和给位辛勤付出的小伙伴一个赞,当然,如果你们能好好学,也是给我们这份资料最好的肯定。
最后提醒初学者学习Java不要走入的误区:
只看视频,不动手写代码。
不了解就业需要学什么技术,就走马观花,这里看看,那里看看。
只学基础知识,不研究框架,又没有项目支撑。
不做学习规划,学的内容都很零散没有体系。
遇到问题钻牛角尖,不及时找人提问。(提问就上 javawu.com)
自学难成,难就难在没有规划和执行。你到底能不能行,还得看你对这份路线的指导做到了多少,祝君成功!
推荐阅读:
欢迎关注微信公众号:互联网全栈架构,收取更多有价值的信息。