Java工程师必备学习清单
- Java核心
- 数据库
- 设计模式
- 操作系统
- 网络
- 项目管理工具
- 版本管理工具
- JavaEE
- 分布式/微服务
- 消息队列
- 负载均衡
Java核心
- Java基础。Java基本语法,基本数据类型,对象,类,接口,继承,泛型,方法,异常,断言,集合等。
- Java并发。线程、进程、并发,线程生命周期等相关概念,多线程,多线程带来的问题及其解决方案。死锁,synchronized,volatile,ThreadLocal概念及其原理,线程池,锁,AQS,CAS,并发容器,CompletableFuture等
- JVM。Java内存区域划分,垃圾回收算法,类加载,调优等。
数据库
1.基础。数据库的基础知识。
2.MySQL。常用命令,数据类型,字符集编码,简单查询,条件查询,模块查询,多表查询。对查询结果排序,过滤,分组等。索引,事务,存储引擎锁机制与InnoDB锁算法相关概念和原理。读写分离,分库分表。
3.Redis。Redis特性,常见数据结构及其使用场景,常见读写策略,内存淘汰机制,持久化机制,缓存会产生哪些问题及其解决方案,实际应用。
设计模式
1.六大原则
2.23种设计模式
操作系统
1.操作系统底层原理。
2.Linux基本使用,常用命令。
网络
- TCP协议
- Socket网络编程
- HTTP协议
项目管理工具
1.maven。maven项目构建,多模块项目的构建,运行,打包,部署。私服搭建。
版本管理工具
1.Git
JavaEE
1.Servlet原理
2.Web服务器概念及其原理
3.Spring框架,Spring,Spring MVC,Spring Boot。概念使用方式及原理。
4.ORM框架,MyBatis。概念使用方式及原理。
分布式/微服务
- 理论、算法、协议。CAP理论,BASE理论,Paxos算法,Gossip算法,Raft算法等。
- 远程调用。不同服务之间的调用方法(RPC,HTTP),Dubbo和Open Feign框架。
- 服务注册和发现。Eureka、Zookeeper、Nacos框架概念,使用和原理。
- API网关。Spring Cloud Gateway,Netflix Zuul框架概念,使用和原理。
- 配置中心。Spring Cloud Config,Nacos、Apollo框架概念,使用和原理。
- 分布式事务。seata框架。
- 分布式ID。
- 分布式链路追踪。
- 限流
- 熔断
- 降级
- 集群
消息队列
- RabbitMQ,Kafka,,RocketMQ概念,使用及其原理,使用场景。
负载均衡
- 服务端负载均衡,Nginx
- 客户端负载均衡,Ribbon