Java Learning Road Map
Java学习路径
第一部分:Java基础
变量
控制结构
-
顺序结构
-
循环
-
分支
OOP
-
封装
-
继承
-
多态
数组
JAVA API
异常和处理
集合
泛型
IO
反射
网络通信
Mysql基础
-
SQL
-
JDBC
-
PreparedStatement
-
JDBCUtils
-
事务
-
-
连接池
-
c3p0
-
DBCP
-
Druid(德鲁伊,阿里推荐)
-
第二部分:Java 高级
Java 多线程 / 高并发
-
并发基础
-
互斥同步
-
非阻塞同步
-
指令重排
-
synchronized
-
volatile
-
-
线程
-
锁
-
自旋锁
-
偏向锁
-
可重入锁
-
-
线程池
-
并发容器
-
JUC
-
executor
-
collections
-
locks
-
atomic(原子类)
-
tools(CountDownLatch,Exchanger,ThreadLocal,CyclicBarrier)
-
数据结构和算法
-
数据结构
-
数组(稀松数组)
-
队列
-
栈
-
链表
-
树
-
散列
-
堆
-
图
-
-
算法
-
排序(八种)
-
查找
-
分治
-
动态规划(背包问题)
-
回溯(骑士周游问题)
-
贪心算法
-
KMP
-
Prim
-
floyd-最短路径
-
Dijkstra-最短路径
-
设计模式
-
单例模式
-
观察者模式
-
工厂模式
-
适配器模式
-
装饰者模式
-
代理模式
-
模版模式
-
职责链模式
-
其他(组合模式,桥接模式,原型模式···)
JVM
-
JVM 体系
-
类加载过程/机制
-
双亲委派机制 / 沙箱安全机制
-
JMM(Java 内存模式)
-
字节码执行过程/机制
-
GC(垃圾回收机制)
-
JVM 性能监控和故障定位
-
JVM 调优
第三部分:Java web
前端基础
-
html
-
css
-
JavaScript
-
Ajax
-
Jquery
前端框架(可弱化)
-
VUE
-
React
-
Angular
-
bootstrap
-
Node.js
Java web后端
-
Tomcat
-
Servlet
-
JSP
第四部分:主流框架和项目管理
Linux(必学)
Nginx(做反向代理的web服务器)
SSM
-
Spring(轻量级的容器框架)
-
SpringMVC(分层的web开发框架)
-
MyBatis(持久化框架)
项目管理
-
Maven
-
Git & GitHub
-
SVN(过时)
数据库
-
Redis
-
Mysql
-
Oracle
其他框架
-
WebService(即SOA)
-
Activiti(工作流框架/引擎)
-
Shiro(安全引擎)
-
Spring Security(安全框架)
-
JPA(持久化)
-
SpringData(是持久层的通用解决方案)
第五部分:分布式 微服务 并行架构
Netty
Dubbo(PRC框架)
FastDFS(分布式的文件系统)
Docker(应用容器引擎)
Spring 家族
-
Spring Boot
-
Spring Cloud(组件很多)
-
Nacos(阿里,服务发现,配制和管理)
-
Seata(阿里,分布式事务的中间件)
-
Sentinel(阿里,流量控制,熔断,系统负载保护)
-
GateWay(网关,限流,日志,监控,鉴权)
-
搜索引擎
-
ElasticSearch
-
Solr
中间件
-
MyCat(数据库中间件,分库分表)
-
消息中间件
-
ActiveMQ
-
RabbitMQ
-
Kafka
-
日志分析与监控(ELK)
-
ElasticSearch(搜集,存储数据)
-
LogStash(分析日志)
-
Kibana(可视化)
Zookeeper(一致性服务:比如配置维护,域名维护,分布式同步)
第六部分:DevOps(开发运维一体化)(自动化部署管理项目)
- k8s(让部署容器化的应用简单高效)
- 普罗米修斯(prometheus)(系统监控和报警)
- Jenkins(监控持续的工作,比如部署、集成、交付)
- Harbor(容器的镜像仓库)
- GitLab
- sonarqube(项目工程代码质量检测)
第七部分:大数据技术(可以弱化)
- Hadoop
- Hive
- Impals
- spark
- flink
第八部分:项目
电商
金融
教育
直播
CRM,ERP
第九部分:大厂的高频面试题
重点关注
-
第二部分:Java 高级
-
SSM
-
数据库
-
Spring 家族
-
Netty
-
中间件
-
项目