《Java 编程入门》1.1 Java 解决了什么问题
从 library 项目「换台电脑就跑不起来」的真实问题出发,讲清字节码与 JVM 如何提供跨平台能力,以及这套机制在版本、原生库、编码与时区上的真实边界;再把 Java 的生态、工具链、向后兼容和启动、内存、样板代码的代价放在一起,帮读者判断它是否适合自己的项目。
tag
从 library 项目「换台电脑就跑不起来」的真实问题出发,讲清字节码与 JVM 如何提供跨平台能力,以及这套机制在版本、原生库、编码与时区上的真实边界;再把 Java 的生态、工具链、向后兼容和启动、内存、样板代码的代价放在一起,帮读者判断它是否适合自己的项目。
《Java 编程入门》全书导航页:说明本书定位、读者画像与前置知识,给出零基础、有语言基础、查漏补缺三条学习路径与八周计划,并按六个部分列出 18 章 54 节的完整章节索引,另含序、前言、附录 A–D 与常见问题速查,每一节都配一句话说明,方便按需定位与跳读。
交代本书的读者对象、前置知识、六部分结构与章节依赖,列出 JDK 25、Maven 和终端的环境清单与真实版本输出,说明代码、输出、省略号和命令的书写约定,以及三种阅读路径、验证代码的具体方法、版本不一致时的排查顺序与本书刻意不覆盖的范围。
说明这套 Java 四卷本为什么从语言与平台写起、为什么用 library 项目贯穿、为什么选 JDK 25 LTS 作主线,以及它与本站《Spring Boot》三部曲和 Java 专题的分工;也交代本书刻意不写的内容、验证方式,以及四卷本各自的边界。
系统讲解 Testcontainers 集成测试:容器化测试的原理与 Ryuk 资源回收、GenericContainer 与专用模块(数据库/Kafka/Redis)、@Testcontainers 生命周期与单例复用、等待策略、Docker Compose 模块、Spring Boot @ServiceConnection 零配置注入,以及 CI 环境与并行测试实践。
系统讲解 Micrometer 可观测性:MeterRegistry 与 Counter/Gauge/Timer/DistributionSummary 四大计量器、标签与高基数陷阱、Spring Boot Actuator 自动埋点、@Timed/@Counted 注解、Observation API 统一指标与链路追踪、Prometheus 暴露与 exemplar,并附生产治理实践。
系统讲解 Spring Batch 批处理:Job/Step/Chunk 编程模型与 JobRepository 元数据表、ItemReader/Processor/Writer 组合、事务边界与提交间隔、重启续跑与失败重试跳过、本地与远程分区并行、Spring Batch 5 的 API 变化,以及生产监控与调优实践。
系统讲解 JPMS 模块系统:module-info.java 的 requires/exports/opens/provides 语义、模块路径与类路径的差异、自动模块与无名模块的兼容规则、拆分包冲突、jdeps/jlink/jmod 工具链,以及从 classpath 迁移到 module path 的分阶段策略与 Spring 生态的兼容取舍。
深入结构化并发与 Scoped Values:StructuredTaskScope 的 Joiner 模型与 JDK 版本演进、ShutdownOnFailure/ShutdownOnSuccess 语义、自定义 Joiner、ScopedValue 替代 ThreadLocal 的作用域传递、取消传播与虚拟线程固定问题,以及生产迁移与可观测性实践。
系统讲解 GraalVM Native Image 与 AOT 编译:封闭世界假设与可达性分析原理、native-image 与 Maven/Gradle 插件构建流程、Spring Boot 3 AOT 引擎与 RuntimeHints、反射与资源元数据配置、启动与内存实测对比,以及生产落地的常见坑与取舍。
系统讲解从 Java 渐进迁移到 Clojure 的工程路径:绞杀者模式与切入点排序、互操作边界与数据语义设计、Maven/Gradle 与 deps.edn 混合构建、AOT 与 uberjar 打包部署、团队技能矩阵与代码评审清单,以及常见陷阱与量化验收度量。
面向生产精调 Kafka Java 客户端:RecordAccumulator 缓冲与 linger 权衡、四种压缩算法选型、超时与重试参数的语义约束、消费者 fetch 与背压控制、max.poll.interval 陷阱、客户端 JMX 指标采集
深入 Java 平台模块系统,讲解模块描述符 module-info.java 的依赖导出与服务加载,拆分模块与 jdeps 分析,JLink 自定义运行时,以及 Maven 与 Spring Boot 的兼容实践
系统对比 Java 序列化方案:JDK 原生序列化的原理与安全风险、Jackson 与 Gson 等 JSON 方案、Kryo 高性能二进制、Protobuf 结构化方案,给出性能基准对比、适用场景与选型指南。
系统讲解 Java 并发设计模式:生产者-消费者、工作窃取、不可变对象、读写分离、双重检查锁定、Copy-on-Write、Future 承诺与线程封闭等模式,包含适用场景、代码示例、JUC 落地与实战陷阱。
深入变更数据捕获原理与 Debezium 架构,讲解 Connector 配置、同步到搜索与数仓的管线、Outbox 联动,以及位点容错、幂等写入与同步延迟水位线的生产实践
从工程视角深入可观测性,剖析 Micrometer 指标模型与 MeterRegistry 维度设计,讲解 OpenTelemetry 与 OTLP 导出、Prometheus 与 Grafana 大盘,以及应用级自定义指标与告警体系
系统讲解 OOM 排查与堆转储分析:五种 OOM 类型与成因、排查流程、jmap 与自动转储获取堆转储、MAT 的 Leak Suspects 与 Dominator Tree 分析、内存泄漏定位案例,以及线上兜底与预防手段。
GitHub Actions Java/JVM CI 实战:Maven/Gradle 构建与缓存策略、多 JDK 版本矩阵测试(8/11/17/21)、JaCoCo 代码覆盖率与 SonarCloud 集成、SpotBugs/PMD/Checkstyle 静态分析、Jib 免 Dockerfile 容器化构建、Maven 多模块 Monorepo CI、性能基准测试(JMH)自动化、发布到 Maven Central/JitPack、Kotlin/Scala 混合项目构建
深入多租户 SaaS 架构设计,对比共享库、共享 schema 与独立 schema 三种隔离模型,详解租户上下文传递、数据隔离拦截器、租户路由与数据迁移的完整实现