在這篇文章里我將教會(huì)你如何分析JVM的線程堆棧以及如何從堆棧信息中找出問題的根因。在我看來線程堆棧分析技術(shù)是Java EE產(chǎn)品支持工程師所必須掌握的一門技術(shù)。在線程堆棧中存儲(chǔ)的信息,通常遠(yuǎn)超出你的想象,我們可以在工作中善加利用這些信息。
我的目標(biāo)是分享我過去十幾年來在線程分析中積累的知識(shí)和經(jīng)驗(yàn)。這些知識(shí)和經(jīng)驗(yàn)是在各種版本的JVM以及各廠商的JVM供應(yīng)商的深入分析中獲得的,在這個(gè)過程中我也總結(jié)出大量的通用問題模板。
那么,準(zhǔn)備好了么,現(xiàn)在就把這篇文章加入書簽,在后續(xù)幾周中我會(huì)給大家?guī)磉@一系列的專題文章。還等什么,請(qǐng)趕緊給你的同事和朋友分享這個(gè)線程分析培訓(xùn)計(jì)劃吧。
聽上去是不錯(cuò),我確實(shí)是應(yīng)該提升我的線程堆棧分析技能...但我要從哪里開始呢?
我的建議是跟隨我來完成這個(gè)線程分析培訓(xùn)計(jì)劃。下面是我們會(huì)覆蓋到的培訓(xùn)內(nèi)容。同時(shí),我會(huì)把我處理過的實(shí)際案例分享給大家,以便與大家學(xué)習(xí)和理解。
1) 線程堆棧概述及基礎(chǔ)知識(shí)
2) 線程堆棧的生成原理以及相關(guān)工具
3) 不同JVM線程堆棧的格式的差異(Sun HotSpot、IBM JRE、Oracal JRockit)
4) 線程堆棧日志介紹以及解析方法
5) 線程堆棧的分析和相關(guān)的技術(shù)
6) 常見的問題模板(線程竟態(tài)、死鎖、IO調(diào)用掛死、垃圾回收/OutOfMemoryError問題、死循環(huán)等)
7) 線程堆棧問題實(shí)例分析
我希望這一系列的培訓(xùn)能給你帶來確實(shí)的幫助,所以請(qǐng)持續(xù)關(guān)注每周的文章更新。
但是如果我在學(xué)習(xí)過程中有疑問或者無法理解文章中的內(nèi)容該怎么辦?
不用擔(dān)心,把我當(dāng)做你的導(dǎo)師就好。任何關(guān)于線程堆棧的問題都可以咨詢我(前提是問題不能太low)。請(qǐng)隨意選擇下面的幾種方式與我取得聯(lián)系:
1) 直接本文下面發(fā)表評(píng)論(不好意思的話可以匿名)
2) 將你的線程堆棧數(shù)據(jù)提交到Root Cause Analysis forum
3) 發(fā)Email給我,地址是 @phcharbonneau@hotmail.com
能幫我分析我們產(chǎn)品上遇到的問題么?
當(dāng)然可以,如果你愿意的話可以把你的堆?,F(xiàn)場(chǎng)數(shù)據(jù)通過郵件或論壇 Root Cause Analysis forum發(fā)給我。處理實(shí)際問題是才是學(xué)習(xí)提升技能的王道。
我真心期望大家能夠喜歡這個(gè)培訓(xùn)。所以我會(huì)盡我所能去為你提供高質(zhì)量的材料,并回答大家的各種問題。
在介紹線程堆棧分析技術(shù)和問題模式之前,先要給大家講講基礎(chǔ)的內(nèi)容。所以在這篇帖子里,我將先覆蓋到最基本的內(nèi)容,這樣大家就能更好的去理解JVM、中間件、以及Java EE容器之間的交互。
Java VM 概述
Java虛擬機(jī)是Jave EE 平臺(tái)的基礎(chǔ)。它是中間件和應(yīng)用程序被部署和運(yùn)行的地方。
JVM向中間件軟件和你的Java/Java EE程序提供了下面這些東西:
主站蜘蛛池模板: 姜堰市| 彭泽县| 抚远县| 石门县| 茶陵县| 潮安县| 茂名市| 南丹县| 赞皇县| 原阳县| 宜丰县| 浦北县| 海口市| 长垣县| 福鼎市| 静安区| 新平| 儋州市| 乌苏市| 咸阳市| 斗六市| 凭祥市| 湖州市| 馆陶县| 蓬溪县| 鄂托克前旗| 浦城县| 略阳县| 柘荣县| 辉南县| 唐山市| 大城县| 庐江县| 龙山县| 竹溪县| 阿荣旗| 钟山县| 山西省| 册亨县| 阳城县| 伊春市|