前言
在遇到實際性能問題時,除了關注系統性能指標,還要結合應用程序的系統的日誌、堆棧信息、GClog、threaddump等數據進行問題分析和定位。
Java性能分析工具
對於Java性能調優,以前一直比較好用的工具是JRockit,JProfile(商業)等工具,但隨着JDK7 up40版本之後,jdk會自帶JMC(JavaMissionControl)工具。可以分析本地應用以及連接遠程ip使用。提供了實時分析線程、內存,CPU、GC等信息的可視化界面。
如果是全面分析heap dump,再綜合使用MAT(Eclipse Memory Analyzer)。基本就可以做很多日常的性能調優以及線上問題排查了。
一篇文章是無法講清楚性能調優這個問題的,因此,我聯合騰訊課堂源碼學院,打造了《性能調優實戰》訓練營。僅需0.02元,就可以與前京東架構師面對面交流調優經驗!
(長按識別二維碼)
你對調優的理解是否已經足夠全面、系統?看看下面的自測題。
性能調優篇面試題
什麼情況下會發生棧內存溢出?
詳解JVM內存模型
JVM內存爲什麼要分成新生代,老年代,持久代?
JVM一次完整的GC流程是怎樣的?
闡述Servlet和CGI的區別?
JVM是如何實現同步的?
Java內存結構?
解釋內存中的棧(stack)、堆(heap)和方法區(method area)的用法 描述一下JVM加載class文件的原理機制?
JVM的永久代中會發生垃圾回收麼?
分佈式篇面試題
Redis 有什麼數據類型?分別用於什麼場景?
Redis 的集羣模式是如何實現的?
Redis分佈式鎖,它是怎麼實現的?
簡述分佈式系統的CAP理論和BASE理論
springcloud和dubbo有哪些區別?
高併發下有哪些常用的技術解決方案,舉三個高併發場景設計案例
分佈式事務解決方案你知道哪些?
如何實現負載均衡,有哪些算法可以實現?
▼點擊『閱讀原文』即可參與《性能調優專題訓練營》課程,限時優惠僅需0.02元