这份清单将从核心基础、进阶与框架、架构与设计、工具与生态、软技能五个维度展开。

核心基础
这是Java工程师的立身之本,是所有上层建筑的地基。
Java 语言基础
- 语法基础: 变量、数据类型、运算符、流程控制、数组。
- 面向对象: 封装、继承、多态,深刻理解其原理和应用场景。
- 关键字:
static,final,this,super,abstract,interface,synchronized,volatile等。 - 异常处理:
try-catch-finally,throw,throws,理解异常体系(ErrorvsException),知道如何设计合理的异常。
Java 核心API
- 集合框架: 重中之重!
List(ArrayList, LinkedList),Set(HashSet, TreeSet),Map(HashMap, TreeMap, LinkedHashMap) 的底层实现、原理、区别和使用场景。ConcurrentHashMap的实现原理(分段锁、CAS操作)。CopyOnWriteArrayList等并发集合的使用场景。Comparable和Comparator的区别。
- I/O流:
InputStream/OutputStream,Reader/Writer,NIO(New I/O) 的核心概念(Buffer,Channel,Selector)。 - 多线程与并发编程:
- 基础:
Thread,Runnable,Callable,Future。 - 核心机制:
synchronized关键字和ReentrantLock的区别与使用。 - 并发工具类:
CountDownLatch,CyclicBarrier,Semaphore,Exchanger。 - 线程池:
ThreadPoolExecutor的核心参数、工作原理、拒绝策略,掌握Executors工厂类的使用。 - JUC包:
java.util.concurrent包下的常用类,如AtomicInteger,BlockingQueue。 - 内存模型:
happens-before原则、可见性、有序性。
- 基础:
- JVM (Java虚拟机):
- 内存区域: 堆、栈、方法区、程序计数器等。
- 垃圾回收: GC算法(标记-清除、复制、标记-整理)、垃圾回收器(Serial, Parallel, CMS, G1, ZGC),理解
Minor GC和Full GC。 - 类加载机制: 双亲委派模型及其意义。
- 性能调优: 常用的JVM参数,使用
jps,jstat,jmap,jstack等工具排查问题。
Java 新特性
- Java 8+: 这是现代Java开发的必备知识。
- Lambda表达式 和 Stream API: 极大地提升集合操作效率,是函数式编程的核心。
- 新的日期时间API (
java.time): 替代老旧的Date和Calendar。 - Optional: 优雅地处理
null值。 - 其他:
CompletableFuture(异步编程),var(局部变量类型推断) 等。
进阶与框架
掌握了基础后,你需要学习如何使用主流框架来快速、高效地构建企业级应用。
持久层框架
- MyBatis: 轻量级ORM框架,SQL与代码分离,灵活控制SQL。
- 核心组件:
SqlSessionFactory,SqlSession,Mapper。 - 动态SQL、缓存机制(一级/二级缓存)、插件原理。
- 核心组件:
- Spring Data JPA / Hibernate: 更完整的ORM解决方案。
JPA规范、Hibernate实现、实体映射、关联关系、HQL/JPQL。
Web 框架
- Spring Framework: Java生态的基石,必须精通!
- IoC (控制反转) 和 DI (依赖注入): Spring的核心思想,理解Bean的生命周期。
- AOP (面向切面编程): 日志、事务、权限控制等场景的应用。
- 事务管理: 声明式事务和编程式事务的原理和使用。
- Spring Boot: 现代Java开发的事实标准。
- 自动配置原理:
@SpringBootApplication,@EnableAutoConfiguration,spring.factories。 - Starter机制: 简化依赖配置。
- Actuator: 应用监控和健康检查。
- 自动配置原理:
- Spring MVC: 用于构建Web应用。
- 核心组件:
DispatcherServlet,Controller,Service,Model,ViewResolver。 - 常用注解:
@RestController,@RequestMapping,@RequestParam,@PathVariable。
- 核心组件:
微服务架构
- Spring Cloud / Spring Cloud Alibaba: 微服务全家桶。
- 服务注册与发现: Nacos, Eureka。
- 服务调用: OpenFeign (声明式HTTP客户端)。
- API网关: Gateway, Zuul。
- 配置中心: Nacos Config, Apollo。
- 服务熔断与降级: Sentinel, Hystrix。
- 分布式事务: Seata。
- 消息驱动: Stream (整合RabbitMQ/Kafka)。
其他常用库
- 数据库: 熟练使用 MySQL,理解索引、事务、锁、SQL优化。
- 缓存: Redis 的五种基本数据结构、持久化、高可用、缓存穿透/雪崩/击穿问题解决方案。
- 消息队列: Kafka 或 RabbitMQ 的核心概念、应用场景(解耦、异步、削峰)。
- 工具库: Apache Commons, Lombok, MapStruct, Hutool 等。
架构与设计
从“码农”到“工程师”再到“架构师”的进阶之路。

设计模式
- 常用模式: 单例、工厂、代理、策略、模板方法、观察者、适配器、装饰器、责任链等。关键不是背诵,而是理解其解决什么问题,并在合适场景下使用。
系统设计
- 高并发、高可用、高性能: 理解“三高”的内涵和实现手段。
- 分布式理论: CAP理论、BASE理论。
- 架构模式:
- 微服务架构: 优缺点、拆分原则、治理。
- 领域驱动设计: 领域模型、限界上下文。
- 事件驱动架构。
- 数据存储方案:
- 分库分表: ShardingSphere等中间件的使用。
- 读写分离。
- NoSQL数据库: MongoDB, Elasticsearch 等的适用场景。
性能调优
- 代码层面: 算法优化、避免内存泄漏、减少锁竞争。
- JVM层面: 垃圾回收调优、内存参数调优。
- 数据库层面: SQL优化、索引优化、慢查询分析。
- 缓存层面: 缓存策略设计、缓存一致性保证。
工具与生态
现代工程师离不开高效的工具。
版本控制
- Git: 精通
clone,add,commit,push,pull,branch,merge,rebase等核心命令,理解Git分支模型。
构建与项目管理
- Maven / Gradle: 理解依赖管理、生命周期、插件机制。
容器化与部署
- Docker: 理解镜像、容器、Dockerfile,能够将应用打包成Docker镜像。
- Kubernetes (K8s): 理解Pod、Deployment、Service、Ingress等核心概念,了解K8s的基本部署流程。
CI/CD
- Jenkins / GitLab CI: 了解持续集成和持续部署的流程,能够配置简单的自动化构建、测试和部署脚本。
监控与日志
- 监控: Prometheus + Grafana, ELK/Loki 日志分析系统。
- APM工具: SkyWalking, Pinpoint, Zipkin (用于链路追踪)。
软技能
技术之外,决定你走多远的关键。
- 沟通能力: 清晰、准确地表达自己的想法,理解他人需求。
- 团队协作: 使用Jira、Confluence等工具进行项目管理,与产品、测试、运维等角色高效协作。
- 解决问题的能力: 面对复杂问题时,能够拆解问题、定位根因、提出并验证解决方案。
- 学习能力: 技术日新月异,保持好奇心和学习热情至关重要。
- 文档能力: 编写清晰的技术文档,是知识沉淀和团队协作的基础。
- 业务理解能力: 理解你做的功能背后的业务价值,才能写出更贴合业务的代码。
不同阶段的学习重点
- 初级工程师: 侧重 核心基础 和 进阶框架,目标是能够熟练使用Spring Boot等框架完成业务开发,写出规范、可维护的代码。
- 中级工程师: 在巩固基础之上,深入理解 框架原理 和 JVM/并发,开始接触 微服务 和 系统设计,能够独立负责一个模块的开发。
- 高级工程师/架构师: 深入 架构与设计,对 分布式系统 有深刻理解,能够主导技术选型和系统架构设计,解决复杂的技术难题,并关注 工具与生态 的落地。
希望这份清单能帮助你规划自己的学习路径!

