你好,欢迎来到该专栏的最后一部分,到现在为止,咱们的这一专栏就算讲完了,在学习过程中,你会发现这个专栏的思路是非常清晰的,性能优化的诸多方法论和面试高频考点都包含在其中,非常值得你反复学习揣摩。
但实际上,写作过程并没有那么顺利,正如我在开篇词中所说,“性能优化是个系统性工程,对工程师的技术广度和深度都有要求”,所以要将“性能优化”这个既需要扎实知识基础,又需要充分实践的知识点讲明白则是非常大的考验。
在写作的过程中,我也参考了数十本性能优化专题的书籍,但都没有发现我想要的讲解方式。因为很多书籍,面向的是小白用户,它仅仅是在对知识点进行单纯的介绍,和性能优化这一实践主题是不搭边的,而这种情况在绝大多数普通的 Java 基础书籍中都存在。甚至连权威的《Java 性能优化权威指南》,也是有非常大的篇幅在讲解 JVM,其讲解的很多原理性的知识并不能在工作中真正实践起来。
我之前在拉勾教育也开过《深入浅出 Java 虚拟机》这一专栏,我一共花了 25 课时讲解 JVM,但在其中的性能优化部分中,我将其压缩到了 3 个课时,所以很多细节都是无法展开的。
综上两种情况,上述写法都不能完善全面地讲解“性能优化”,所以我决定开一门《性能优化实战 21 讲》的专栏,挑选在工作中最常用到的组件,来配合原理性的性能优化点进行讲解。
在课程中,我一直在强调思维的系统性、完整性,在性能优化中,你不应该只关注性能优化本身,而更要关注它所引入的问题,性能优化并不是“碰巧”知道某个优化点该如何做,而是需要很多准备工作和数据支撑。你可以参考“21 | 性能优化的过程方法”的脑图,它将帮助你系统性地分析性能瓶颈,选用正确的优化方法,并处理好优化所带来的副作用。
你会发现,很多遗留系统是不满足应用某些性能优化法则的,你需要在优化前重构你的代码。所以,你不妨对你的代码要求苛刻一点,超过 1 秒的请求,都分析一下有没有优化的空间,把握好每一次的实践机会。相信经过多次实践,你一定会对性能优化有更深的理解。
虽然本专栏到此就结束了,但不代表你对性能优化的学习就停止了,本专栏仅仅是打开了“性能优化”的大门,之后还需要你亲自实践,才能欣赏里面的风景。尤其是对于“性能优化”这一本身就非常具有“实践性”的主题,在平常的工作中,希望你一定多积累开拓自己的广度认知,并深耕自己的技术实力,相信你一定能取得质的飞跃。