Java
JavaSE基础
计算机基础
Java入门学习
Java基础语法
流程控制和方法
数组
面向对象编程
异常
常用类
集合框架
IO
多线程
GUI编程
网络编程
注解和反射
JUC编程
JVM
23种设计模式
数据结构和算法
正则表达式
JavaWeb基础
MySQL初级
JDBC
HTML5
CSS3
JavaScript
jQuery
Http协议
Tomcat
Servlet
Cookie & Session
JSP
JSTL & EL表达式
MVC三层架构
过滤器
监听器
文件上传与下载
邮件收发
富文本编辑器
SSM框架基础
Maven
Junit
Java日志框架
MyBatis
Spring
SpringMVC
Ajax
SSM框架整合
Shiro
MyBatis-Plus
Linux基础
Linux基础
Shell编程
Linux系统管理
Linux网络
LAMP平台部署
LNMP平台部署
Nginx
ELK日志分析
MySQL集群
Redis
Linux集群
Docker
OpenStack
Kubernetes
分布式与微服务
Vue
NodeJS
SpringBoot原理
SpringBootWeb开发
SpringData
SpringSecurity
SpringBoot分布式开发
ActiveMQ
Elsticsearch
Dobbo+Zookeeper
SpringCloud Netflix 全家桶
SpringCloud Alibaba 全家桶
大数据开发
负载均衡
Hadoop
Hive
HBase
Flume
Sqoop
Zookeeper
lmpala
Scala编程
Spark系列
Kafka
参考链接
2024年最新超详细Java学习路线一条龙版(建议收藏🔥) | 二哥的Java进阶之路 (javabetter.cn)
人类高质量 Java 学习路线【一条龙版】 - 程序员鱼皮 - 博客园 (cnblogs.com)
Java学习步骤及路线(超详细)_java全面学习路线以及教程-CSDN博客
Java学习路线及资料--全网最靠谱_自学精灵-CSDN博客
Java SE
Java EE
Java学习路线一条龙
Java编程基础
- *Java 基础语法***
- 数据类型
- 流程控制
- 数组
- *面向对象***
- 方法
- 重载
- 封装
- 继承
- 多态
- 抽象类
- 接口
- 枚举
- 常用类
- String
- 日期时间
- 集合类
- 泛型
- 注解
- 异常处理
- 多线程
- IO 流
- Java8新特性
- Stream API
- Lambda 表达式
- 新日期时间 API
- 接口默认方法
Java基础巩固
Java核心技术卷I
数据结构与算法
- *时间 / 空间复杂度分析***
- 数据结构
- 数组
- 字符串
- 队列
- 栈
- 链表
- 集合
- 哈希表
- 二叉树
- 算法
- 排序
- 双指针
- 查找
- 分治
- 动态规划
- 递归
- 回溯
- 贪心
- 位运算
- DFS
- BFS
- 图
计算机基础
- 计算机网络
- HTTP / HTTPS 协议
- 网络模型
- UDP / TCP 协议
- 网络安全
- 域名解析
- 操作系统
- 进程、线程
- 进程 / 线程间通讯方式
- 进程调度算法
- 进程 / 线程状态
- 死锁
- 内存管理
Java企业级开发(Java EE)
- MySQL
- 基本概念
- MySQL 搭建
- SQL 语句编写
- 约束
- 索引
- 事务
- 设计数据库表
- 性能优化
- 开发框架
- Java Web
- 描述:Java 网页应用开发基础
- 前端基础
- XML
- JSON
- Servlet
- Filter
- Listener
- JSP
- JSTL
- Cookie
- Session
- Spring Framework 5
- 描述:Java 轻量级应用框架
- IOC
- AOP
- 事务
- Spring MVC
- 描述:Java 轻量级 web 开发框架
- 什么是 MVC?
- 请求与响应
- Restful API
- 拦截器
- 配置
- 执行过程
- MyBatis
- 描述:数据访问框架,操作数据库进行增删改查等操作
- 增删改查
- 全局配置
- 动态 SQL
- 缓存
- 和其他框架的整合
- 逆向工程
- MyBatis Plus
- 描述:Mybatis 的增强工具,能够简化开发、提高效率
- 引入
- 通用 CRUD
- 条件构造器
- 代码生成器
- 插件扩展
- 自定义全局操作
- Spring Boot 2
- 描述:简化 Spring 应用的初始搭建以及开发过程,提高效率
- 常用注解
- 资源整合
- 高级特性
- 本地热部署
- Spring Security
- 描述:Spring 的安全管理框架
- 用户认证
- 权限管理
- Maven /Gradle
- 描述:项目管理工具
- 构建
- 依赖管理
- 插件
- 配置
- 子父工程
- Java Web
开发规范
- 代码规范
- 代码风格
- 命名
- 其他规则
- 提交规范
Git
- 工作区
- 分支
- 代码提交、推送、拉取、回退、重置
- 分支操作
- 代码合并、解决冲突
- 标签
- cherry-pick
Linux
- Linux 系统安装
- 环境变量
- 文件管理
- 用户管理
- 内存管理
- 磁盘管理
- 进程管理
- 网络管理
- 软件包管理
- 服务管理
- 日志管理
- Linux 内核
- *常用命令***
- *常用环境搭建***
- *Shell 脚本编程***
- *VIM 的使用***
前端基础
- HTML
- CSS
- JavaScript
- Ajax
- jQuery
- Vue
设计模式
- 创建型模式:对象实例化的模式,创建型模式用于解耦对象的实例化过程
- 单例模式
- 工厂方法模式
- 抽象工厂
- 建造者模式
- 原型模式
- 结构型模式:把类或对象结合在一起形成一个更大的结构
- 适配器模式
- 组合模式
- 装饰器模式
- 代理模式
- 享元模式
- 外观模式
- 桥接模式
- 行为型模式:类和对象如何交互,及划分责任和算法
- 迭代器模式
- 模板方法模式
- 策略模式
- 命令模式
- 状态模式
- 责任链模式
- 备忘录模式
- 观察者模式
- 访问者模式
- 中介者模式
- 解释器模式
中间件
Redis 缓存
- 数据类型
- 常用操作
- Java 操作 Redis
- 主从模型搭建
- 哨兵集群搭建
- 日志持久化
- 应用场景
RabbitMQ 消息队列
- 消息队列的作用
- 生产消费模型
- 交换机模型
- 死信队列
- 延迟队列
- 消息持久化
- Java 操作
- 集群搭建
Nginx 网关
- Nginx 作用
- 正向代理
- 反向代理(负载均衡)
- 常用命令
- 配置
- 动静分离(网站部署)
- 集群搭建
Netty 网络编程
- IO 模型(BIO / NIO)
- Channel
- Buffer
- Seletor
- Netty 模型
- WebSocket 编程(动手做个聊天室)
微服务
Dubbo
- 架构演进
- RPC
- Zookeeper
- 服务提供者
- 服务消费者
- 项目搭建
微服务
- 微服务概念
- Spring Cloud 框架
- 子父工程
- 服务注册与发现
- 注册中心 Eureka、Zookeeper、Consul
- Ribbon 负载均衡
- Feign 服务调用
- Hystrix 服务限流、降级、熔断
- Resilience4j 服务容错
- Gateway(Zuul)微服务网关
- Config 分布式配置中心
- 分布式服务总线
- 分布式链路追踪
- Spring Cloud Alibaba
- Nacos 注册、配置中心
- OpenFeign 服务调用
- Sentinel 流控
- Seata 分布式事务
接口管理
- Swagger 接口文档
- Postman 接口测试
容器
- Docker
- 容器概念
- 镜像
- 部署服务
- Dockerfile
- K8S(Kubernetes)
- 架构
- 部署应用
- 暴露服务
- 动态扩缩容
CI/CD
- 什么是 CI / CD
- CI / CD 有什么好处
- 使用任一 CI / CD 平台
阶段 5:项目实战
- 尚硅谷 - 谷粒学院 - 微服务 + 全栈 - 在线教育实战项目:https://www.bilibili.com/video/BV1dQ4y1A75e(全栈项目,前后端讲得都很全面)
- 尚硅谷 - 尚筹网 - Java项目实战开发教程 - SSM 框架 + 微服务架构:https://www.bilibili.com/video/BV1bE411T7oZ(500 多集,包含完整的用户权限管理,功能丰富、讲得很细致全面)
- 黑马 - 24 小时搞定 Java 毕设电商项目:https://www.bilibili.com/video/BV13f4y1r7fS
- 黑马程序员 Java 项目《传智健康》,超完整的企业级医疗行业项目:https://www.bilibili.com/video/BV1Bo4y117zV
- 黑马程序员 Java 项目《万信金融》企业级开发实战,互联网金融行业解决方案:https://www.bilibili.com/video/BV1Ub4y1f7rk
- 黑马程序员 Java 项目 SaaS 移动办公完整版《iHRM 人力资源管理系统》,跨行业 SaaS 办公整合性解决方案:https://www.bilibili.com/video/BV18A411L7UX
- 黑马程序员 Java 大型分布式微服务闪聚支付项目,Java 移动支付全生态系统:https://www.bilibili.com/video/BV17v411V79c
- 黑马程序员 Java 项目《好客租房》:https://www.bilibili.com/video/BV1sZ4y1F7PD
项目源码(50 套)
电商秒杀
- 天猫整站 J2EE:https://how2j.cn/module/115.htm
- 天猫整站 SSM:https://how2j.cn/module/134.html
- 天猫整站 Springboot:https://how2j.cn/module/156.html
- mall-learning:https://github.com/macrozheng/mall-learningmall(学习教程,架构、业务、技术要点全方位解析)
- SpringBoot 电商商城系统 Mall4j:https://github.com/gz-yami/mall4j
- SpringBoot 完整电商系统 Mall:https://github.com/macrozheng/mall(包括前台商城系统及后台管理系统,基于 SpringBoot+MyBatis 实现)
- newbee-mall:https://github.com/newbee-ltd/newbee-mall (一套电商系统,包括 newbee-mall 商城系统及 newbee-mall-admin 商城后台管理系统,基于 Spring Boot 2.X 及相关技术栈开发)
- paascloud-master:https://github.com/paascloud/paascloud-master(基于 spring cloud + vue + oAuth2.0,前后端分离商城系统)
- mall-swarm:https://github.com/macrozheng/mall-swarm(一套微服务商城系统,采用了 Spring Cloud Greenwich、Spring Boot 2、MyBatis、Docker、Elasticsearch 等核心技术,同时提供了基于 Vue 的管理后台方便快速搭建系统)
- onemall:https://github.com/YunaiV/onemall(mall 商城,基于微服务的思想,构建在 B2C 电商场景下的项目实战。核心技术栈,是 Spring Boot + Dubbo 。未来,会重构成 Spring Cloud Alibaba)
- litemall:https://github.com/linlinjava/litemall(又一个小商城,litemall = Spring Boot 后端 + Vue 管理员前端 + 微信小程序用户前端 + Vue 用户移动端)
- xmall:https://github.com/Exrick/xmall (基于SOA架构的分布式电商购物商城 前后端分离 前台商城:Vue全家桶 后台管理系统)
- miaosha:https://github.com/qiurunze123/miaosha (秒杀系统设计与实现)
- SecKill:https://github.com/hfbin/Seckill(基于 SpringBoot+Mybatis+Redis+RabbitMQ 秒杀系统)
博客论坛
- Mblog:开源 Java 博客系统
- halo:一个优秀的开源博客发布应用
- forum-java:一款用 Java(spring boot) 实现的现代化社区(论坛/问答/BBS/社交网络/博客)系统平台
- vhr:微人事是一个前后端分离的人力资源管理系统,项目采用 SpringBoot+Vue 开发。
- favorites-web:云收藏 Spring Boot 2.X 开源项目。云收藏是一个使用 Spring Boot 构建的开源网站,可以让用户在线随时随地收藏的一个网站,在网站上分类整理收藏的网站或者文章。
- community:码问,开源论坛、问答系统,现有功能提问、回复、通知、最新、最热、消除零回复功能。技术栈 Spring、Spring Boot、MyBatis、MySQL/H2、Bootstrap
- NiterForum:尼特社区-NiterForum-一个论坛/社区程序。后端Springboot/MyBatis/Maven/MySQL,前端Thymeleaf/Layui。可供初学者,学习、交流使用。
- VBlog:V部落,Vue+SpringBoot实现的多用户博客管理平台!
- NiceFish:SpringBoot/SpringCloud 前后端分离项目
- My-Blog: My Blog 是由 SpringBoot + Mybatis + Thymeleaf 等技术实现的 Java 博客系统,页面美观、功能齐全、部署简单及完善的代码,一定会给使用者无与伦比的体验。
- My-Blog-layui:layui 版本的 My-Blog : A simple & beautiful blogging system implemented with spring-boot & layui & thymeleaf & mybatis My Blog 是由 SpringBoot + Layui + Mybatis + Thymeleaf 等技术实现的 Java 博客系统,页面美观、功能齐全、部署简单及完善的代码,一定会给使用者无与伦比的体验
- symphony:Java 实现的现代化社区
管理系统
- Spring-Cloud-Admin:Cloud-Admin 是国内首个基于 Spring Cloud 微服务化开发平台,具有统一授权、认证后台管理系统,其中包含具备用户管理、资源权限管理、网关 API 管理等多个模块,支持多业务系统并行开发,可以作为后端服务的开发脚手架。代码简洁,架构清晰,适合学习和直接项目中使用。核心技术采用 Spring Boot2 以及 Spring Cloud Gateway 相关核心组件,前端采用 vue-element-admin 组件。
- bootshiro:基于 springboot+shiro+jwt 的资源无状态认证权限管理系统后端
- 悟空CRM:基于jfinal+vue+ElementUI的前后端分离CRM系统
- EL-ADMIN:基于 SpringBoot 的后台管理系统
- pig:基于 Spring Boot 2.2、 Spring Cloud Hoxton & Alibaba、 OAuth2 的 RBAC 权限管理系统。
- FEBS-Shiro:Spring Boot 2.1.3,Shiro1.4.0 & Layui 2.5.4 权限管理系统。
- Spring Boot-Shiro-Vue:基于Spring Boot-Shiro-Vue 的权限管理
- studentmanager:基于springboot+mybatis学生管理系统
- jshERP:华夏ERP基于SpringBoot框架和SaaS模式,立志为中小企业提供开源好用的ERP软件,目前专注进销存+财务功能。主要模块有零售管理、采购管理、销售管理、仓库管理、财务管理、报表查询、系统管理等。支持预付款、收入支出、仓库调拨、组装拆卸、订单等特色功能。拥有库存状况、出入库统计等报表。同时对角色和权限进行了细致全面控制,精确到每个按钮和菜单。
- HotelSystem:酒店管理系统 Java,tomcat,mysql,servlet,jsp实现,没有使用任何框架
开发平台
- open-capacity-platform:微服务能力开发平台
- jeecg-boot:JeecgBoot是一款基于BPM的低代码平台!前后端分离架构 SpringBoot 2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shiro,JWT,支持微服务。强大的代码生成器让前后端代码一键生成,实现低代码开发!
其他
- 学之思在线考试系统:一款 java + vue 的前后端分离的考试系统
- PassJava-Platform:一款面试刷题的 Spring Cloud 开源系统
- kkFileView:使用spring boot打造文件文档在线预览项目
- dynamic-datasource:一个基于springboot的快速集成多数据源的启动器
- moti-cloud:莫提网盘,基于 SpringBoot+MyBatis+ThymeLeaf+BootStrap,适合初学者
- threadandjuc:three-high-import 高可用\高可靠\高性能,三高多线程导入系统(该项目意义为理论贯通)
- proxyee-down:http下载工具,基于http代理,支持多连接分块下载
- hosp_order:医院预约挂号系统,基于 SSM 框架
- 趋势投资 SpringCloud
- DiyTomcat
- novel 小说精品屋项目
阶段6 Java高级
并发编程
- 线程和进程
- 线程状态
- 并行和并发
- 同步和异步
- Synchronized
- Volatile 关键字
- Lock 锁
- 死锁
- 可重入锁
- 线程安全
- 线程池
- JUC 的使用
- AQS
- Fork Join
- CAS
JVM
- JVM 内存结构
- JVM 生命周期
- 主流虚拟机
- Java 代码执行流程
- 类加载
- 类加载器
- 类加载过程
- 双亲委派机制
- 垃圾回收
- 垃圾回收器
- 垃圾回收策略
- 垃圾回收算法
- StopTheWorld
- 字节码
- 内存分配和回收
- JVM 性能调优
- 性能分析方法
- 常用工具
- 参数设置
架构设计
分布式
- 分布式理论
- CAP
- BASE
- 分布式缓存
- Redis
- Memcached
- Etcd
- 一致性算法
- Raft
- 一致性哈希
- Paxos
- 分布式事务
- 分布式 id 生成
- 分布式服务调用
- 分布式存储
- 分布式数据库
- 分布式文件系统
- 分布式协调
- Zookeeper
- 分布式监控
- Prometheus
- 分布式消息队列
- RabbitMQ
- Kafka
- Apache Pulsar
- 分布式日志收集
- Elastic Stack
- Loki
- 分布式搜索引擎
- Elasticsearch
- 分布式链路追踪
- Apache SkyWalking
- 分布式配置中心
- Apollo
- Nacos
高可用
- 主从
- 异地多活
- 容灾备份
高并发
- 数据库
- 分库分表
- 读写分离
- 缓存
- 缓存雪崩
- 缓存击穿
- 缓存穿透
- 负载均衡
- 负载均衡算法
- 软硬件负载均衡(2、3、4、7 层)
其他
- 监控告警
- 领域驱动设计
- 应用安全
- 线上故障分析
- 服务网格
- Serverless
- 云原生
Java求职
建议
- 尽早做规划,可以通过大厂招聘官网的岗位描述来了解岗位的要求
- 雕琢一份优秀的简历,推荐阅读:https://mp.weixin.qq.com/s/wfabzdpOPdq89faFFpZ4NA
- 多读面经,坚持刷算法
- 多参与面试,持续复盘总结
知识总结
- ⭐ 牛客 Java 面试宝典:https://www.nowcoder.com/tutorial/94
- ⭐ JavaGuide:https://snailclimb.gitee.io/javaguide/#/
- ⭐ CS-Notes:http://www.cyc2018.xyz/
- 阿里 Java 技术图谱:https://developer.aliyun.com/graph/java
面经
- ⭐ 2021 最新 Java 笔试、面试题合集:https://pan.baidu.com/s/1DE4HAu-DS80n7VOaGpU_KQ(密码:lkw1)
- ⭐ 牛客面经:https://www.nowcoder.com/discuss/experience?tagId=639
视频
- ⭐ 尚硅谷 2021 逆袭版 Java 面试题第三季:https://www.bilibili.com/video/BV1Hy4y1B78T
- ⭐ 阿里大佬透彻讲解 Java 面试 500 道必考题:https://www.bilibili.com/video/BV1yU4y1J7Bb
持续学习
框架源码
- Spring
- SpringBoot
- SpringMVC
- MyBatis
- Netty
- Dubbo
- SpringCloud
计算机原理
- 《算法导论》:https://www.bilibili.com/video/av48922404
- 《现代操作系统》:https://www.bilibili.com/video/av9555596
- 《深入理解计算机系统》:https://www.bilibili.com/video/av31289365
- 《编译原理》: https://www.bilibili.com/video/av17649289
- 《计算机网络:自顶向下方法》:https://www.bilibili.com/video/av41404195
- 《计算机程序的构造和解释》:https://www.bilibili.com/video/av8515129
- 《数据库系统概念》:https://www.bilibili.com/video/av52007695
数据库 / 中间件 / 分布式
- 数据库
- MySQL
- PostgreSQL
- 缓存
- Redis
- 队列
- Apache Kafka
- Apache Pulsar
- 搜索引擎
- Elastic Stack
- 容器
- Docker
- K8S
解决方案
- 广告
- 电商
- 搜索
- 游戏
- 即时通讯
- 社交
- CMS
- ERP
- OA
架构
- 亿级流量架构
- 秒杀系统
- 架构选型能力
大数据
- 5V 特点
- Hadoop
- HDFS
- MapReduce
- Spark
- Flink
- Storm
- Hive
- HBase
- Druid
- Kylin
- Pig
- Mahout
前沿技术
- 云原生:https://www.jianshu.com/p/a37baa7c3eff
- Quasar Framework:http://www.quasarchs.com/
自学 Java 专题资源
- GitHub Java 专区:https://github.com/topics/java
- GitHub Java 合集:https://github.com/akullpp/awesome-java
- StackOverflow:https://stackoverflow.com/questions/tagged/java(解决问题必备)
- 掘金 Java 专区:https://juejin.cn/tag/Java
- 美团技术团队:https://tech.meituan.com/
- 阿里技术团队:https://102.alibaba.com/tech/list/
- 有赞技术团队:https://tech.youzan.com/tag/back-end/
职业方向
Web开发
大数据开发
安卓开发
桌面软件开发
金融交易系统开发
嵌入式开发
高频交易