Java 开发最佳实践专栏
围绕 Java / Spring 体系下的业务建模、架构设计、代码质量、稳定性保障、工程实践五大主题域,整合社区一线文章与实战经验,构建可检索的实战知识库。
专栏概览
- 来源:整理自
Macaroon-Spring-Family/spring-boot-best-practice/doc(2023-2025 公众号/极客时间/ThoughtWorks 等渠道) - 规模:162 篇文章 + 2070 张配图
- 组织原则:按问题域而非时间/出处归档——读者带着"我在解决 XX 问题"来查阅
- 自动化:侧边栏与图片目录均由 VitePress 自动扫描生成
五大主题域
01. 业务建模与领域驱动
解决"复杂业务如何理解、如何用代码准确表达"的问题。DDD 实践、抽象思维、源码阅读方法论。
- 入口:进入 01-domain-modeling
- 规模:50 篇文章
- 核心话题:DDD 战术/战略模式、领域建模工作坊、面向对象分析设计、源码阅读三重境界、抽象与封装
| 必读推荐 | 说明 |
|---|---|
| 迄今为止最完整的 DDD 实践 | 社区 DDD 实践集大成 |
| 殷浩详解 DDD:如何避免写流水账代码 | 阿里 DDD 专家实战分享 |
| [5 分钟掌握领域驱动设计的 40 个关键概念](./01-domain-modeling/5 分钟迅速掌握领域驱动设计的 40 个关键概念) | 速查表 |
| 金字塔原理指导技术系统优化 | 思维工具 |
| 学习源码的三重境界 | 源码阅读方法论 |
02. 架构设计与系统设计
解决"系统复杂度增长后如何保持秩序"的问题。微服务、中间件、分布式事务、流量治理。
- 入口:进入 02-architecture-design
- 规模:33 篇文章
- 核心话题:架构权衡评估(ATAM)、分库分表、分布式缓存、消息队列异步、流量治理、秒杀/账务系统设计
| 必读推荐 | 说明 |
|---|---|
| ATAM 架构权衡评估方法 | 架构评审方法论 |
| 一文详解架构设计的本质 | 架构本质思考 |
| 人人都是架构师 | 架构思维普及 |
| 高可用架构流量治理核心策略全掌握 | 熔断/限流/降级实战 |
| 携程门票「秒杀系统」的设计与实践 | 秒杀场景案例 |
03. 整洁代码与业务编码
解决"业务代码如何写好"的问题。设计模式、参数校验、面向对象、单元测试。
- 入口:进入 03-clean-code
- 规模:43 篇文章
- 核心话题:设计模式(单例/原型/享元/策略/责任链/管道/上下文)、业务代码分层、参数校验、面向对象、单元测试、重构案例
| 必读推荐 | 说明 |
|---|---|
| 业务代码究竟难不难写? | 业务代码本质 |
| 图解七种代码耦合类型 | 耦合分类图解 |
| 满屏的 if-else,要怎么优化? | 控制流优化 |
| 责任链模式与策略模式在售后系统里的实战 | 模式实战案例 |
| Java 单元测试实战 | 单元测试方法 |
04. 可靠性与稳定性
解决"系统出问题时如何快速定位与止血"的问题。故障案例、幂等设计、监控、数据库优化、JVM 调优。
- 入口:进入 04-reliability
- 规模:30 篇文章
- 核心话题:事务失效、线程池故障、消息发送坑、幂等性、数据库分页/批量更新、JVM 内存、CPU 飙高、接口监控、优雅停机
| 必读推荐 | 说明 |
|---|---|
| 15 种线上 Bug 梳理 | Bug 分类清单 |
| Redis 事务遇上 @Transactional 有大坑 | 经典踩坑 |
| 接口幂等性这么重要,它是什么?怎么实现? | 幂等性必读 |
| JVM 内存问题排查 Cookbook | 性能问题工具书 |
| 25 张图理解各中间件的优雅停机方案 | 优雅停机范式 |
05. 工程实践
解决"工程师如何成长"的问题。高效工作、Java 8 特性应用、并发工具、性能杀手识别。
- 入口:进入 05-engineering-practice
- 规模:6 篇文章
- 核心话题:程序员高效工作、Java 8 设计模式重构、ThreadLocal、内存 Join、Splitter 性能优化、值对象战术模式
| 必读推荐 | 说明 |
|---|---|
| 程序员如何高效工作 | 工作方法论 |
| [利用 Java 8 对设计模式的重构](./05-engineering-practice/利用 java8 对设计模式的重构) | 函数式思维 |
| ThreadLocal:线程专属的变量 | 并发工具 |
| [调用链跨线程传递 ThreadLocal 对象对比](./05-engineering-practice/调用链跨线程传递 ThreadLocal 对象对比) | ThreadLocal 进阶 |
| [内存 Join 可以如此简单!!!](./05-engineering-practice/内存 Join 可以如此简单!!!) | 性能优化技巧 |
推荐阅读路径
路径 A:业务开发工程师(最常用)
- 03 整洁代码 → 04 稳定性(事务/故障)
- 01 业务建模(DDD 基础)
- 02 架构设计(系统视角)
路径 B:架构师 / 高级开发
- 01 业务建模(DDD 战略 + 抽象思维)
- 02 架构设计(ATAM / 流量治理 / 分布式)
- 04 稳定性(故障驱动设计)
- 03 整洁代码(团队工程基线)
路径 C:新人入门(建立全局观)
- 03 整洁代码:业务代码究竟难不难写
- 04 稳定性:15 种线上 Bug 梳理
- 01 业务建模:5 分钟掌握 DDD 40 概念
- 05 工程实践:程序员如何高效工作
文件命名说明
为方便检索,文件名已清洗去噪:
- 去除噪声前缀:
[星标]/【心得】/【故障现场】/simpread-/26丨课程编号 /doc-spring-boot-senior-S29-内部代号 - 保留语义化的中文标题
- 配图按
images/{slug}/NNN-pPP.png格式归档
PDF 原文已转 Markdown + 提取嵌入图片(>30KB、>100px 宽),正文中保留 PDF 原始路径供回溯。