在遇到实际性能问题时,除了关注系统性能指标,还要结合应用程序的系统的日志、堆栈信息、GClog、threaddump等数据进行问题分析和定位。
对于Java性能调优,以前一直比较好用的工具是JRockit,JProfile(商业)等工具,但随着JDK7 up40版本之后,jdk会自带JMC(JavaMissionControl)工具。可以分析本地应用以及连接远程ip使用。提供了实时分析线程、内存,CPU、GC等信息的可视化界面。
如果是全面分析heap dump,再综合使用MAT(Eclipse Memory Analyzer)。基本就可以做很多日常的性能调优以及线上问题排查了。
你对调优的理解是否已经足够全面、系统?看看下面的自测题。
性能调优篇面试题
分布式篇面试题