Java性能调优不像是学一门编程语言,挺难通过直线式的思维来掌握和应用。他对工程师技术广度和技术深度的要求都挺高的,我想你肯定也有体会,我们身处互联网时代,现在一个简单的系统就囊括了应用程序,数据库,容器,操作系统,网络等技术,线上一旦出现性能问题。你就得协调多方面组件去做优化,这就是技术广度,而很多性能问题,又藏得很深,可能因为一个小小的代码,也可能因为线程池的类型选择错误,还有诸如此类的很多很多原因,归根结底考验的还是我们对这项技术的了解程度,这就是技术深度。很显然啊,性能调优不是一件容易的事。但有没有什么方法能把这件事情做好呢?接下来就跟你分享几点我的心得。
第一点 扎实的计算机基础。
第二点 习惯透过源码了解技术本质
第三点 善于追问和总结
综合这三点心得,我也就想清楚了该怎么交付这个专栏。
先说一下我的设计思路吧,在这个专栏里我将会从实战出发,精选高频性能问题透过Java底层源码提炼出优化思路和他背后的实现原理,最后呢形成一套学完就能用的调优方法论,这也是很多一线大厂对于高级工程师的要求,最终呢就是希望你能通过学习这个专栏快速进阶。
那专栏具体是怎么设计的呢,结合Java应用开发的知识点,我将内容分为了七大模块依次详解Java应用服务的每一层优化实战。下面来讲述一下,你也可以向下滑动文稿至末端,看起来可能会更清晰一点。
模块一 概述
在这个模块里我会为你建立两个标准,一个是性能调优标准。另一个就是调优过程标准。
模块二 Java编程性能调优
模块三 多线程性能调优
模块四 Jvm性能监测及调优
模块五 设计模式调优
模块六 数据库性能调优
数据库最容易成为整个系统的性能瓶颈,这个模块中我会重点解析一些数据库的常用调优方法。
模块七 实战演练场
前面讲到的六个模块的内容,都是基于某个点的调优。现在,是时候把你前面所学都调动起来了,所以呢,在最后的这个模块我将带你进入综合性能问题高频出现的应用场景,学习整体调优方法。
现在纵观整个专栏,以点带面,目的就是交付给你一套学完就能用的调优方法论。让你在遇到性能问题的时候能够调动所学,触类旁通,技术水平更上一层楼。纸上得来终觉浅,觉知此事要弓行。这个专栏从实战中来,也希望你能够应用到实战中去。最终在学习的基础上融会贯通,补充完善,形成属于你自己的一套调优方法论,今天的内容就到这里,期待在下一讲和你共同开启一段新的旅程。