日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

JVM

話說面試這塊,JVM算是一個經典的也是三年必問的知識點了,而且這個知識點算是最重要的一個知識點,你如果會這個內容,那么對你的在之后的面試中,能夠喊出一個不錯的價格。

而關于JVM和還有關于垃圾回收算法的解析,在這里就不在給大家進行講解了。大家有興趣的可以看一下之前推出的這幾篇文章

性能監控工具

我們都在最開始學JAVA的時候,安裝過Java,不管是直接安裝版本還是復制過來解壓好的,大家都可以在JDK的安裝目錄中找到一些exe的程序,而這些exe的程序里面,有很多是我們不怎么去關注的性能的監控工具。

JDK里面自帶了這么多的exe,你都挨著試過么?

 

大家可以看一下里面這些exe,是不是感覺Sun公司有時候也是很給力的,各種給大家隱藏的福利,就比如下面我們要說的JVM的調優工具,就是Jconsole,而還有一些比如說

jstack :顯示虛擬機的線程快照

jps :虛擬機進程狀況工具

JConsole :JMX的可視化管理工具

VisualVM :多合一故障管理工具 (我認為最牛掰的工具)

關于使用,我們在下面開始一一的講述,先從我們最關心的JVM調優開始。

JVM調優工具

主要的調優工具有JDK自己帶的工具,也有外部的屬于收費的,大致就這么幾種。Jconsole,jProfile,VisualVM。

  • Jconsole :jdk自帶,功能簡單,但是可以在系統有一定負荷的情況下使用。對垃圾回收算法有很詳細的跟蹤。
  • JProfiler :這就是需要你另外付費的了的商業軟件,功能強大(付錢付錢)。
  • VisualVM :JDK自帶,功能強大,與JProfiler類似。

而就因為不知道這么幾個工具而且沒使用過這些工具,被公司老弟瘋狂嘲笑了一波,那叫一個悲慘,既然不知道那么一定要學習一波的呀,那么我們就來看看這個工具。

那收費的我就管了,反正不如白嫖的香。那我們就來看看 Jconsole和 VisualVM吧。

VisualVM:

JDK里面自帶了這么多的exe,你都挨著試過么?

 

大家可以看一下左邊,顯示的是你正在運行的程序,pid是15908,端口號是我這邊的,你們那邊必然不是,但是大家可以當個參考嘛。

VisualVM可以根據需要安裝不同的插件,每個插件的關注點都不同,有的主要監控GC,有的主要監控內存,有的監控線程等。

比如說看下圖:

JDK里面自帶了這么多的exe,你都挨著試過么?

 

這里你如果不顯示的話,直接點那個檢查最新版本。在可用的插件里面就會顯示出我們所有的能用的插件來。

我們雙擊一個內容進去看一下:

JDK里面自帶了這么多的exe,你都挨著試過么?

 

在這里我們可以監控各種堆棧信息,而這個工具和Jconsole是我們大家經常使用的吧,除了有些高大上的喜歡用第三方的,但是阿粉還沒怎么使用過,畢竟公司不大,沒有那么多事,能看出問題來并且解決就OK啦。

下面我們再來看看JConsole。

JConsole :一款JMX的可視化管理工具

它是一個java GUI監視工具,可以以圖表化的形式顯示各種數據。并可通過遠程連接監視遠程的服務器VM。用java寫的GUI程序,用來監控VM,并可監控遠程的VM,非常易用,而且功能非常強。

JDK里面自帶了這么多的exe,你都挨著試過么?

 

在我們看到的進程信息隨便點一個進去就可以看到

JDK里面自帶了這么多的exe,你都挨著試過么?

 

里面也有和VisualVm一樣的內容,比如說堆內存的使用量;內存池“PS Old Gen”

JDK里面自帶了這么多的exe,你都挨著試過么?

 


JDK里面自帶了這么多的exe,你都挨著試過么?

 

而且還有我們的類的路徑,庫的路徑,以及Vm的參數等等,都是非常不錯的。

jps(JavaVirtual machine Process Status Tool):虛擬機進程狀況工具

說實話,從安裝JDK以來,還真的是沒有太注意這個jps,畢竟他僅僅是來輸出JVM中運行的進程狀態信息.

語法說實在的也是非常簡單的,給大家安利一下:jps 【options】 【hostid 】

options中可以選擇有很多種比如說

  • q :不輸出類名、Jar名和傳入main方法的參數,僅輸出VM標識符
  • m :輸出傳入main方法的參數
  • l :輸出完全的包名,應用主類名,jar的完全路徑名
  • v :輸出jvm參數

而后免得hostid更好說了,主機或者是服務器的id,你如果什么東西都不寫,那么就是默認的嘍。

如下所示:

JDK里面自帶了這么多的exe,你都挨著試過么?

 

大家有興趣的可以去自己動手試試,很有意思的。

jstack :堆棧跟蹤工具

這個工具也是非常好的,我們給他一個java進程ID,那么它就會給我們打印出Java堆棧信息。

而他的語法也是非常簡單的:jstack 【-l】 pid

JDK里面自帶了這么多的exe,你都挨著試過么?

 

這個說實話就更喜歡VisualVM了,同樣也能看到堆棧信息,至于怎么選擇,那就看你們的需要什么了?

最后感謝各位的閱讀,才疏學淺,難免存在紕漏,如果你發現錯誤的地方,還請你在后臺留言指出,我對其加以修改。

分享到:
標簽:JDK
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定