Skip to content

Java 后端知识库

这里整理的是 Java 后端开发知识,目标不是堆积文章,而是把语言基础、框架、数据组件、中间件和工程实践串成可以学习、复习和排障的路线。

如果你是零基础,不建议一开始就直接看源码、JVM 调优或分布式事务。更合理的顺序是:先学 Java 基础,再学数据库和 Web,再学 Spring,再学中间件和分布式。

按目标开始

你的目标建议入口阅读方式
零基础系统学习Java SE 从零到生产级掌握先语言基础,再数据库、Web 和 Spring
已有基础,查漏补缺全站知识地图按模块验收,不必从头顺序阅读
准备面试各模块的“面试题”页面先看标准回答,再跳转原理页
解决线上问题对应技术的“排查、生产实践”页面从现象和调用链切入
做综合项目各模块的“商业场景训练营”用 Demo、异常场景和测试验收

内容建设规范和扩展点地图属于站点维护资料,普通读者可以跳过;学习时直接从下方路线或对应技术模块进入即可。

推荐学习路线

mermaid
flowchart TD
    A["Java SE 基础"] --> B["集合、异常、IO、泛型"]
    B --> C["多线程和 JVM"]
    C --> D["MySQL、Redis、MongoDB"]
    D --> E["Java EE 和 JDBC"]
    E --> F["MyBatis、JPA、事务"]
    F --> G["Spring、Spring MVC、Spring Boot"]
    G --> H["Spring Security、Spring Cloud"]
    H --> I["Dubbo、ZooKeeper、消息队列"]
    I --> J["搜索、Netty、分布式"]
    J --> K["DevOps、Kubernetes"]

这条路线不是死顺序,但适合大多数后端学习路径。

各目录学什么

目录重点学完应该能做什么
Java SE基础语法、集合、多线程、JVM、锁看懂普通 Java 代码,理解运行机制
数据库MySQL、Redis、MongoDB能设计表、写 SQL、做缓存和索引
Java EEServlet、Filter、Session、JDBC理解 Web 后端底层请求流程
ORMMyBatis、Hibernate、JPA能把 Java 对象和数据库操作连接起来
SpringIOC、AOP、事务、MVC理解 Java 后端主流框架基础
Spring Boot自动配置、Starter、Web 项目能快速搭建后端服务
Spring Security登录、认证、授权、JWT能做接口权限控制
Spring Cloud注册中心、网关、限流、配置理解微服务常见组件
DubboRPC、注册发现、协议序列化、负载均衡、SPI理解内部服务远程调用链路
ZooKeeperznode、Watcher、Session、ZAB、锁和选主理解分布式协调组件原理
消息队列RocketMQ、RabbitMQ、Kafka理解异步、削峰、重试、死信
搜索引擎Elasticsearch能做站内搜索和日志检索
Netty网络编程、高性能 IO理解网关、RPC、长连接基础
DevOpsDocker、K8s、Jenkins、Nginx能部署和排查后端服务

一个后端请求的完整链路

mermaid
flowchart TD
    A["浏览器或客户端"] --> B["Nginx 或网关"]
    B --> C["Spring Boot Controller"]
    C --> D["Service 业务层"]
    D --> E["Mapper 或 Repository"]
    E --> F["MySQL"]
    D --> G["Redis 缓存"]
    D --> H["消息队列"]
    H --> I["异步消费者"]
    D --> J["Elasticsearch 搜索"]

学习时要把每个技术放回这条链路里理解:它解决什么问题,位于什么位置,和其他组件如何协作。

零基础学习建议

  1. 先能写 CRUD,再理解框架原理。
  2. 学数据库时一定要写 SQL,不要只看 ORM。
  3. 学 Spring 时先理解 IOC、AOP、事务,再看自动配置。
  4. 学 Redis 时不要只背数据结构,要理解缓存问题。
  5. 学消息队列时重点理解可靠投递、重复消费、顺序、重试。
  6. 学 DevOps 时至少会用 Docker 启动应用和数据库。

实战练习路线

mermaid
flowchart TD
    A["练习 1:Java 控制台程序"] --> B["练习 2:JDBC 操作 MySQL"]
    B --> C["练习 3:MyBatis CRUD"]
    C --> D["练习 4:Spring Boot REST API"]
    D --> E["练习 5:登录和 JWT"]
    E --> F["练习 6:Redis 缓存文章"]
    F --> G["练习 7:MQ 异步发送通知"]
    G --> H["练习 8:Docker 部署服务"]

每个练习都建议补充:

  1. README。
  2. 接口文档。
  3. 异常处理。
  4. 日志。
  5. 基础测试。
  6. 常见问题记录。

本页小结

后端知识很多,学习时不要把它们当成孤立名词。把技术放到“请求进来、业务处理、数据访问、缓存、异步、部署”这条主线上,理解会更快,也更容易用于项目。