专业Java:高级技术
专业Java:高级技术
简介:
这本书不是又一本Java语法入门。它面向那些已经能熟练使用Java,但希望提升到新层次的开发者:理解JVM内部工作原理,编写真正快速且可靠的代码,以及设计能够承受数百万请求的系统。
作者安德烈·索科洛夫(Andrey Sokolov)是一位在金融科技和高负载项目领域拥有12年经验的高级Java开发者。在本书中,他分享了通常只在强大团队内部口头传授的技术。
你将学到:
- 无痛多线程:CompletableFuture、ForkJoinPool、ExecutorService的精细调优。如何避免死锁、活锁和竞态条件。
- 显微镜下的JVM:内存模型(JMM)、垃圾回收器(G1、ZGC、Shenandoah)的工作原理。如何针对特定任务选择GC策略。
- 性能分析与优化:使用VisualVM、JFR、async-profiler的真实案例。如何发现瓶颈并将代码速度提升2-5倍。
- 生产环境模式:不仅是GoF,还有现代模式:Pipeline、Saga、CQRS、Event Sourcing。基于Java 17+的实现示例。
- 内存管理:off-heap、direct buffers、sun.misc.Unsafe(以及安全替代方案)。何时合理使用,何时不应使用。
- 监控与诊断:如何判断应用程序因内存泄漏而“崩溃”,以及如何在不进行堆转储的情况下修复它。
本书适合谁:
- 拥有2年以上经验、希望深入理解Java平台的开发者。
- 设计高负载系统的团队负责人和架构师。
- 所有准备Senior+级别技术面试的人。
本书以一系列深入剖析的形式构建:每个部分都是一个完整的模块,包含代码示例、图表以及指向真实项目(包括开源项目)的链接。您不仅能读到理论,还能立即将其应用到自己的项目中。
格式:PDF,340页。代码示例基于Java 17(并提及21版的新特性)。所有示例均可在GitHub仓库中找到。
如果您感觉自己在当前的Java水平上遇到了瓶颈——这本书将帮助您突破它。