jvm 調(diào)試

javac

javap

http://www.hollischuang.com/archives/1107

javap可以用于反編譯和查看編譯器編譯后的字節(jié)碼。平時(shí)一般用javap -c比較多部宿,該命令用于列出每個(gè)方法所執(zhí)行的JVM指令茬高,并顯示每個(gè)方法的字節(jié)碼的實(shí)際作用惰聂〖丫В可以通過字節(jié)碼和源代碼的對(duì)比愚屁,深入分析java的編譯原理奸笤,了解和解決各種Java原理級(jí)別的問題。

-help 幫助
-l 輸出行和變量的表
-public 只輸出public方法和域
-protected 只輸出public和protected類和成員
-package 只輸出包碴开,public和protected類和成員毅该,這是默認(rèn)的
-p -private 輸出所有類和成員
-s 輸出內(nèi)部類型簽名
-c 輸出分解后的代碼,例如潦牛,類中每一個(gè)方法內(nèi)眶掌,包含java字節(jié)碼的指令,
-verbose 輸出棧大小巴碗,方法參數(shù)的個(gè)數(shù)
-constants 輸出靜態(tài)final常量

Jps 顯示當(dāng)前系統(tǒng)的java進(jìn)程情況朴爬,及其id號(hào)

jps位于jdk的bin目錄下,其作用是顯示當(dāng)前系統(tǒng)的java進(jìn)程情況橡淆,及其id號(hào)召噩。 jps相當(dāng)于Solaris進(jìn)程工具ps。不象”pgrep java”或”ps -ef grep java”逸爵,jps并不使用應(yīng)用程序名來查找JVM實(shí)例具滴。因此,它查找所有的Java應(yīng)用程序师倔,包括即使沒有使用java執(zhí)行體的那種(例如构韵,定制的啟動(dòng) 器)。另外趋艘,jps僅查找當(dāng)前用戶的Java進(jìn)程贞绳,而不是當(dāng)前系統(tǒng)中的所有進(jìn)程。

jstack 用于生成java虛擬機(jī)當(dāng)前時(shí)刻的線程快照 http://www.hollischuang.com/archives/110

hollis@hos:~$ jstack -help
Usage:
    jstack [-l] <pid>
        (to connect to running process)
    jstack -F [-m] [-l] <pid>
        (to connect to a hung process)
    jstack [-m] [-l] <executable> <core>
        (to connect to a core file)
    jstack [-m] [-l] [server_id@]<remote server IP or hostname>
        (to connect to a remote debug server)

Options:
    -F  to force a thread dump. Use when jstack <pid> does not respond (process is hung)
    -m  to print both java and native frames (mixed mode)
    -l  long listing. Prints additional information about locks
    -h or -help to print this help message
-F當(dāng)’jstack [-l] pid’沒有相應(yīng)的時(shí)候強(qiáng)制打印棧信息 
-l長列表. 打印關(guān)于鎖的附加信息,例如屬于java.util.concurrent的ownable synchronizers列表. -m打印java和native c/c++框架的所有棧信息. 
-h | -help打印幫助信息 pid 需要被打印配置信息的java進(jìn)程id,可以用jps查詢.

jstack是java虛擬機(jī)自帶的一種堆棧跟蹤工具致稀。
jstack用于生成java虛擬機(jī)當(dāng)前時(shí)刻的線程快照冈闭。線程快照是當(dāng)前java虛擬機(jī)內(nèi)每一條線程正在執(zhí)行的方法堆棧的集合,生成線程快照的主要目的是定位線程出現(xiàn)長時(shí)間停頓的原因抖单,如線程間死鎖萎攒、死循環(huán)、請(qǐng)求外部資源導(dǎo)致的長時(shí)間等待等矛绘。 線程出現(xiàn)停頓的時(shí)候通過jstack來查看各個(gè)線程的調(diào)用堆棧耍休,就可以知道沒有響應(yīng)的線程到底在后臺(tái)做什么事情,或者等待什么資源货矮。 如果java程序崩潰生成core文件羊精,jstack工具可以用來獲得core文件的java stack和native stack的信息,從而可以輕松地知道java程序是如何崩潰和在程序何處發(fā)生問題囚玫。另外喧锦,jstack工具還可以附屬到正在運(yùn)行的java程序中读规,看到當(dāng)時(shí)運(yùn)行的java程序的java stack和native stack的信息, 如果現(xiàn)在運(yùn)行的java程序呈現(xiàn)hung的狀態(tài),jstack是非常有用的燃少。

So,jstack命令主要用來查看Java線程的調(diào)用堆棧的束亏,可以用來分析線程問題(如死鎖)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末阵具,一起剝皮案震驚了整個(gè)濱河市碍遍,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌阳液,老刑警劉巖怕敬,帶你破解...
    沈念sama閱讀 221,888評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異帘皿,居然都是意外死亡东跪,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門矮烹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來越庇,“玉大人罩锐,你說我怎么就攤上這事奉狈。” “怎么了涩惑?”我有些...
    開封第一講書人閱讀 168,386評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵仁期,是天一觀的道長。 經(jīng)常有香客問我竭恬,道長跛蛋,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,726評(píng)論 1 297
  • 正文 為了忘掉前任痊硕,我火速辦了婚禮赊级,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘岔绸。我一直安慰自己理逊,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,729評(píng)論 6 397
  • 文/花漫 我一把揭開白布盒揉。 她就那樣靜靜地躺著晋被,像睡著了一般。 火紅的嫁衣襯著肌膚如雪刚盈。 梳的紋絲不亂的頭發(fā)上羡洛,一...
    開封第一講書人閱讀 52,337評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音藕漱,去河邊找鬼欲侮。 笑死崭闲,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的锈麸。 我是一名探鬼主播镀脂,決...
    沈念sama閱讀 40,902評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼忘伞!你這毒婦竟也來了薄翅?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,807評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤氓奈,失蹤者是張志新(化名)和其女友劉穎翘魄,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體舀奶,經(jīng)...
    沈念sama閱讀 46,349評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡暑竟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,439評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了育勺。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片但荤。...
    茶點(diǎn)故事閱讀 40,567評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖涧至,靈堂內(nèi)的尸體忽然破棺而出腹躁,到底是詐尸還是另有隱情,我是刑警寧澤南蓬,帶...
    沈念sama閱讀 36,242評(píng)論 5 350
  • 正文 年R本政府宣布纺非,位于F島的核電站,受9級(jí)特大地震影響赘方,放射性物質(zhì)發(fā)生泄漏烧颖。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,933評(píng)論 3 334
  • 文/蒙蒙 一窄陡、第九天 我趴在偏房一處隱蔽的房頂上張望炕淮。 院中可真熱鬧,春花似錦跳夭、人聲如沸涂圆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽乘综。三九已至,卻和暖如春套硼,著一層夾襖步出監(jiān)牢的瞬間卡辰,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留九妈,地道東北人反砌。 一個(gè)月前我還...
    沈念sama閱讀 48,995評(píng)論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像萌朱,于是被迫代替她去往敵國和親宴树。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,585評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容