雖然我是在jdk10環境下, 可是大致上和jdk8是差很少的. 總共有這麼多java
原本想着一口氣把全部命令都邊學邊總結一下的, 結果發現....有些還真的不是很經常使用....或者說我這個水平還接觸不到那麼多. 因而我就把我能使用到的幾個經常使用的總結一下了. 當作是筆記了.python
就想python同樣, 能夠每一行代碼都返回一個交互結果. 編寫短小的程序來運行的時候, 就不用新建項目, 而後新建一個類了...能夠直接上核心代碼了.算法
java的jshell計算大數的時候以下:(果真不出所料...失望..)shell
怎麼解決呢? 確定是由於默認數字都是Integer型. 只好手動調用BigInteger了.jvm
紅色圈出來的數字是pid, 也就是進程id函數
從上面一小節的截圖中我們挑一個執行一下. 好比 倒數第二行的VM.version性能
這樣就利用了VM.version操做打印出了JDK虛擬機的版本.學習
(和這個命令是一個效果 jmap -histo <pid> ).net
(等同於這個命令: jstack <pid> )線程
這個命令是jdk9以後纔開始有的
這命令會打開圖形界面. 看起來很高大上的樣子...這個還有待學習....看知乎上R大介紹過, 學習學習.
查看heap的信息,GC使用的算法,heap的配置. (原來的jmap -heap 命令沒有了, 被這個命令代替了)
live指的是活着的對象, 若是不指定, 那麼就會輸出全部對象的
jdk10 裏發現不支持-heap了. 被前面的 `jhsdb jmap --heap --pid <pid>` 這個命令替代了.
輸出這個說明沒有F-QUEUE隊列中並無等待Fializer線程執行final
izer方法的對象
(做用和這個命令相同 jcmd <pid> GC.class_histogram )
(等同於這個命令 jcmd <pid> Thread.print)
jstat這裏講的更詳細: https://blog.csdn.net/zhaozheng7758/article/details/8623549