这 200 个知识点按照**“由浅入深、从基础到架构”**的逻辑,划分为六大核心模块。
这份路线图涵盖了从 Java 基础语法到前沿技术栈的完整体系,建议你可以将其作为查漏补缺的清单或进阶学习的路径:
🌱 第一阶段:Java 语言基础与核心语法(约 35 个)
目标:夯实面向对象编程思想,熟练掌握 Java 的核心语法与 API。
- Java 语言的发展历史、特点与跨平台原理
- JDK、JRE 和 JVM 三者的区别与联系
- Java 开发环境搭建与环境变量配置
- Java 的注释规范与标识符命名规则
- Java 的 50 个保留关键字
- 8 种基本数据类型及其取值范围、默认值
- 变量的分类(局部变量、实例变量、类变量)
final关键字修饰变量、方法和类的区别- 自动类型转换与强制类型转换
- 各类运算符(算术、关系、逻辑、位、三元运算符)
if-else与switch-case流程控制for、while、do-while循环结构break与continue循环控制语句- 一维数组与多维数组的声明、初始化及遍历
- Java 10 引入的局部变量类型推断
var关键字 - 面向对象三大特性:封装、继承、多态
- 类的定义、对象的创建与内存布局
- 构造方法(默认与自定义)及
this关键字 - 方法重载(Overload)与方法重写(Override)
static关键字(静态变量、静态方法、静态代码块)- 包(package)的创建、导入与命名规范
- 四大访问修饰符(public, protected, default, private)
super关键字调用父类成员Object超类及其常用方法(toString,equals,hashCode)instanceof运算符与运行时类型检查- 抽象类(abstract)与抽象方法
- 接口(interface)的定义、实现与多继承
- 内部类(成员内部类、局部内部类、静态嵌套类)
- 匿名内部类的使用场景
- 枚举类型(enum)的定义与使用
- Java 注解(Annotation)原理与常用内置注解(如
@Override) - 自定义注解与元注解
- 泛型(Generic)的概念与类型参数化
- 泛型类、泛型方法与泛型接口
- 泛型通配符(
? extends T,? super T)与类型擦除机制
⚙️ 第二阶段:Java 进阶与底层原理(约 40 个)
目标:突破初级瓶颈,掌握高并发编程、JVM 底层机制与网络 IO。
- 异常体系结构(Throwable, Error, Exception)
- 编译时异常(Checked)与运行时异常(Unchecked)
try-catch-finally异常捕获与处理流程throw与throws关键字的区别- 自定义异常类的实现
try-with-resources自动资源管理- 异常链与异常的最佳实践
- Java 集合框架的顶层接口(Collection, Map, Iterable)
Iterator迭代器与fail-fast快速失败机制List接口及其实现类(ArrayList, LinkedList, Vector)ArrayList的底层动态数组与扩容机制LinkedList的双向链表结构与增删改查效率Set接口及其实现类(HashSet, LinkedHashSet, TreeSet)Map接口及其实现类(HashMap, TreeMap, LinkedHashMap)HashMap的底层原理(数组+链表+红黑树)、哈希冲突与扩容HashMap与Hashtable、ConcurrentHashMap的区别Queue与Deque双端队列接口Collections与Arrays常用工具类Comparable自然排序与Comparator定制排序接口- 字节流(InputStream/OutputStream)与字符流(Reader/Writer)
- 文件流(FileInputStream, FileReader)与缓冲流(Buffered)
- 转换流(InputStreamReader)与打印流(PrintStream)
- 对象流与 Java 序列化(Serializable 接口)
transient关键字与serialVersionUID版本控制Scanner文本扫描与File文件目录操作- Java NIO 核心组件(Buffer, Channel, Selector)
- 线程与进程的区别
- 线程的创建方式(继承 Thread, 实现 Runnable/Callable)
- 线程的生命周期与状态转换
run()方法与start()方法的区别sleep()与wait()方法的区别- 守护线程(Daemon Thread)的概念
- 线程同步与线程安全
synchronized关键字的底层原理与锁升级volatile关键字与内存可见性ThreadLocal的原理与使用场景- 显式锁
ReentrantLock与Condition - 线程池(ThreadPoolExecutor)的核心参数与工作原理
- 常见的线程池创建方式与拒绝策略
- 并发工具类(CountDownLatch, CyclicBarrier, Semaphore)
🌐 第三阶段:主流开发框架与生态(约 45 个)
目标:掌握 Spring 全家桶与持久层框架,具备企业级应用开发能力。
- Spring Framework 的核心模块
- 控制反转(IoC)与依赖注入(DI)原理
- Spring Bean 的生命周期与作用域
- 面向切面编程(AOP)的核心概念与应用
- Spring AOP 的动态代理实现(JDK Proxy vs CGLIB)
- Spring MVC 的工作流程与核心组件
- RESTful API 设计规范与常用注解
- Spring Boot 的“约定优于配置”理念
- Spring Boot 自动配置原理(
@EnableAutoConfiguration) - Spring Boot Starter 起步依赖机制
- Spring Boot 的配置文件(application.yml/properties)与多环境配置
- Spring Boot Actuator 监控端点
- MyBatis 框架的核心组件与工作流程
- MyBatis 的 Mapper 接口与 XML 映射文件
- MyBatis 动态 SQL 的编写
- JPA / Hibernate 的核心概念与 ORM 映射
- Maven 与 Gradle 项目构建与依赖管理
- Git 版本控制基础与团队协作流程
- JUnit 5 单元测试框架
- Mockito 模拟框架的使用
- MySQL 数据库基础与 SQL 编写
- 事务的 ACID 特性与隔离级别
- MySQL 索引原理(B+树)与 SQL 优化
- Redis 的数据结构与常用命令
- Redis 持久化机制(RDB, AOF)
- Redis 分布式锁的实现
- 消息队列(MQ)的作用与应用场景
- RabbitMQ / Kafka / RocketMQ 的核心概念
- Spring Cloud 微服务架构概览
- 服务注册与发现(Nacos / Eureka)
- 服务远程调用(OpenFeign)
- 服务网关(Spring Cloud Gateway)
- 熔断降级与限流(Sentinel / Hystrix)
- 分布式配置中心
- Docker 容器化技术基础
- Dockerfile 编写与镜像构建
- Linux 常用命令与服务器环境部署
🛡️ 第四阶段:JVM 调优与性能优化(约 30 个)
目标:深入理解 Java 程序运行机制,掌握线上问题排查与性能调优。
- JVM 内存模型(运行时数据区:堆、栈、方法区、程序计数器)
- Java 对象的创建过程与内存布局
- 对象的访问定位(句柄与直接指针)
- 垃圾回收(GC)的基本原理与算法(标记-清除、复制、标记-整理)
- 分代收集理论(新生代、老年代)
- 常见的垃圾回收器(Serial, Parallel, CMS, G1, ZGC)
- 类加载机制(加载、验证、准备、解析、初始化)
- 双亲委派模型及其破坏场景
- 字节码指令集与 Class 文件结构
- JVM 常用参数配置(堆内存设置、GC 日志等)
- OOM(内存溢出)与 StackOverflowError 的排查与解决
- CPU 飙高问题的排查思路
- 常用 JVM 诊断工具(jps, jstat, jmap, jstack)
- 可视化监控工具(JVisualVM, JConsole, Arthas)
- 字符串(String)的不可变性与内存优化
- 字符串常量池(String Pool)的原理
String,StringBuilder,StringBuffer的区别- 集合类的使用最佳实践与性能考量
- 反射机制的原理与性能影响
- 动态代理的应用
- 高并发下的代码优化策略
- 数据库连接池(HikariCP)的配置与优化
- SQL 执行计划分析与索引优化实战
- 缓存穿透、缓存击穿与缓存雪崩的解决方案
- 分布式事务的常见解决方案(Seata, TCC, 最终一致性)
- 接口幂等性设计
- 系统限流、降级与熔断策略
- 全链路压测与性能瓶颈分析
🚀 第五阶段:数据结构、算法与设计模式(约 25 个)
目标:提升逻辑思维与代码设计能力,从容应对大厂面试。
- 时间复杂度与空间复杂度分析
- 数组与链表的底层实现与操作
- 栈(Stack)与队列(Queue)的应用
- 哈希表(Hash Table)与哈希函数
- 二叉树的前序、中序、后序遍历
- 红黑树的特性与应用(TreeMap, HashMap)
- 堆(Heap)与优先队列(PriorityQueue)
- 图(Graph)的表示与遍历(BFS, DFS)
- 冒泡排序、选择排序、插入排序
- 快速排序、归并排序、堆排序
- 二分查找算法
- 递归与分治算法思想
- 动态规划(Dynamic Programming)基础
- 贪心算法思想
- 回溯算法思想
- 常见设计模式分类(创建型、结构型、行为型)
- 单例模式(饿汉、懒汉、双重检查锁、枚举)
- 工厂模式(简单工厂、工厂方法、抽象工厂)
- 建造者模式与原型模式
- 代理模式(静态代理、动态代理)
- 适配器模式与装饰器模式
- 观察者模式(发布-订阅模式)
- 策略模式与模板方法模式
- 责任链模式
- 常见网络协议(TCP, UDP, HTTP, HTTPS)
🔮 第六阶段:Java 新特性与前沿技术(约 25 个)
目标:紧跟 Java 技术发展潮流,掌握云原生与现代化开发技术。
- Java 8 Lambda 表达式与函数式接口
- Java 8 Stream API 的常用操作与并行流
- Java 8 Optional 类处理空指针异常
- Java 8 新的日期时间 API(LocalDate, LocalDateTime)
- Java 9 模块化系统(JPMS)
- Java 10 局部变量类型推断(var)
- Java 14 记录类(Record)简化数据载体
- Java 15 文本块(Text Blocks)
- Java 16 模式匹配(instanceof 增强)
- Java 17 密封类(Sealed Classes)
- Java 21 虚拟线程(Virtual Threads)与结构化并发
- HttpClient 标准化 API
- Spring Boot 3.x 与 Jakarta EE 10 的适配
- Spring Boot 3 的 AOT 编译与 GraalVM 原生镜像
- Spring Boot 3 的可观测性(Observability)
- Spring Reactive(WebFlux)响应式编程
- 云原生 Java 应用开发
- Kubernetes(K8s)基础概念与 Java 应用编排
- Service Mesh(服务网格)简介
- Serverless 架构与 Java
- 大数据处理框架(Spark, Flink)与 Java 集成
- Elasticsearch 全文检索引擎
- Netty 高性能网络编程框架
- gRPC 远程过程调用框架
- OAuth2 与 OIDC 认证授权协议
- Spring Security 安全框架
- JWT(JSON Web Token)认证机制
- 常见安全漏洞防护(SQL 注入, XSS, CSRF)
- 代码规范与静态代码分析(SonarQube)
- CI/CD 持续集成与持续部署(Jenkins, GitLab CI)
- 领域驱动设计(DDD)基础概念
- 微服务架构设计模式(CQRS, Saga)
- 分布式 ID 生成策略(雪花算法)
- 分布式配置管理与动态刷新
- 技术选型与架构设计思维
这 200 个知识点构成了 Java 工程师从入门到精通的完整技术图谱。你可以根据自己的当前水平,分阶段、有重点地进行攻克!