日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

面试官:你用过哪些JDK自带的命令行工具

發布時間:2025/3/21 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 面试官:你用过哪些JDK自带的命令行工具 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文基于HotSpot虛擬機,JDK版本1.8.0_171,windows系統

目錄

一、jps:虛擬機進程狀況工具 二、jstat:虛擬機統計信息監視工具 三、jmap:Java內存映像工具 四、jhat:虛擬機堆轉儲快照分析工具 五、jstack:Java堆棧跟蹤工具 六、jinfo:Java配置信息工具

java和javac這兩個命令行工具我們應該都很熟悉,但是除了這兩個工具jdk/bin里面還提供了很多工具給我們使用,今天就簡單介紹有關虛擬機監控且助于故障排查的工具。

實際上這些工具大多數就是jdk/lib/tool.jar的封裝,內部就是調用tool里面的內容,所以工具體積都不大,而且在linux版本的jdk中有些工具就是用shell寫的。

1.jps(JVM Process Status Tool)

用于顯示指定系統內所有HotSpot虛擬機進程,并且能顯示虛擬機執行主類以及本地虛擬機唯一ID(LVMID,Local Virtual Machine Identifier)功能單一,但是其他因為其他工具都需要指明LVMID(來確定要監控的虛擬機進程,所以都需要用到它。對于本地的虛擬機進程來說LVMID和操作系統的進程ID一致。

使用格式:jps [options] [hostid]

樣例:

jps可以通過RMI協議查詢遠程開啟RMI服務的虛擬機進程,hostid為RMI注冊表中注冊的主機名。

2.jstat(JVM Statistics Monitoring Tool)

用于監視虛擬機各種運行狀態信息的工具,可以顯示本地或者遠程的虛擬機進程類裝載、內存、GC、JIT等運行數據,在沒有GUI圖像界面的服務器上,主要就是用它在運行期定位性能問題。

使用格式 :jstat [option vmid [interval [s|ms] [count]] ]

interval表示查詢的間隔, s|ms是秒和毫秒(默認是毫秒,即不寫單位是毫秒),count表示查詢的次數。

樣例:表示每5秒鐘查看一次LVMID為34216的虛擬機進程的GC情況,一共查詢10次

3.jmap (Memory Map for Java)

用于生成堆轉儲快照(heapdump或dump文件),說白了就是把java堆使用情況快照一份導出來供我們查看,用來排查問題。

使用格式 :jmap [option] vmid

樣例

4.jhat (JVM Heap Analysis Tool)

這個就是和jmap搭配使用的,jmap導出來的堆快照文件用jhat 打開分析

使用格式: jhat [-stack <bool>] [-refs <bool>] [-port <port>] [-baseline <file>] [-debug <int>] [-version] [-h|-help] <file>

樣例:

查看分析結果

5.jstack (Stack Trace for Java)

用于生成虛擬機當前時刻線程快照(threaddump或javacore)。主要用來定位線程出現長時間停頓的原因,判斷死鎖啊,死循環的等。通過jstack就可知各線程的調用堆棧情況。

使用格式:jstack [option] vmid

樣例:

6.jinfo (Configuration Info for Java)

用來查看和調整虛擬機各項參數

使用格式:jinfo [option] pid

可以通過-flag[+|-] name 添加和刪除一些參數,或者-flag name =value修改一些參數,但是很多參數是不允許修改的

樣例:

結語

本文主要是簡單介紹常見的幾個JDK命令行工具,建議使用的時候自己通過命令 -option 查看每個選項實際的意思再使用,畢竟這么選項一般也記不住。而且這些工具有一些算比較簡陋了例如jhat ,這玩意分析的簡陋,界面也簡陋不夠強大和專業。所以這些個命令行工具以了解和大概明白其作用為主。

像平日里一般用于分析都用JConsole、VisualVM(All-in-One Java Troubleshooting Tool)這種可視化工具來分析故障監控性能等,有些在IDE里面的也有用MAT等工具分析。

本文參考《深入理解JAVA虛擬機》第四章


如有錯誤歡迎指正!

個人公眾號:yes的練級攻略

有相關面試進階(分布式、性能調優、經典書籍pdf)資料等待領取

總結

以上是生活随笔為你收集整理的面试官:你用过哪些JDK自带的命令行工具的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。