欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

如何使用JDK14中的Jconsole

這篇文章主要講解了如何使用JDK14中的Jconsole,內(nèi)容清晰明了,對此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會有幫助。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序定制開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了天峨免費建站歡迎大家使用!

我們在開發(fā)java項目的時候,或多或少都會去用到Java的性能管理工具。有時候是為了提升應(yīng)用程序的性能,有時候是為了查找java應(yīng)用程序的bug。

性能監(jiān)控和調(diào)試工具在英文中叫做profile tool,提起這種工具大家可能會想到一些非常出名的jprofile等收費工具,其實JDK也自帶了一些性能調(diào)試工具,比如JMC和Jconsole。

JMC現(xiàn)在已經(jīng)和JDK的版本獨立出來了,詳情請參考我之前的文章: JDK 14的新特性:JFR,JMC和JFR事件流 ,今天我們將會重點講解Jconsole的使用。

JConsole

JConsole是JDK自帶的管理工具,在JAVA_HOME/bin下面,直接命令JConsole即可開啟JConsole。

JConsole有兩種連接方式,一種是連接本地的進程,一種是連接遠程的程序。

本地連接是不需要密碼的,直接選擇相應(yīng)的JVM程序即可。本地連接有一個前提,就是JConsole的用戶一定要和java程序的用戶是相同的,否則無法操作JVM。

遠程連接是通過JMX協(xié)議進行的,JMX的全稱是Java Management Extention,現(xiàn)在大家做web可能對這個協(xié)議不太清楚,如果是做客戶端程序,接觸的應(yīng)該會多一些。簡單點講,JMX是用來做遠程管理的。程序把要管理的Bean暴露出去,然后通過JMX協(xié)議連接進行操作。

好了,我們連上一個自己寫的程序試一下。

JConsole分為六大部分,概覽,內(nèi)存,線程,類,VM和MBean。

先看一下概覽:

概覽展示了堆內(nèi)存使用量,線程,類和CPU占用率這四大內(nèi)容。

我們這個程序是使用JDK14來啟動的,我們看下它的內(nèi)存情況:

從上圖中,我們可以看到使用JConsole可以監(jiān)控堆內(nèi)存,非堆內(nèi)存的一些情況,更進一步,還可以監(jiān)控內(nèi)存池中的一些項目的使用情況。

G1垃圾回收器中的Eden,Old和Survivor space大家應(yīng)該都很熟悉了。

Young Gen被劃分為1個Eden Space和2個Suvivor Space。當對象剛剛被創(chuàng)建的時候,是放在Eden space。垃圾回收的時候,會掃描Eden Space和一個Suvivor Space。如果在垃圾回收的時候發(fā)現(xiàn)Eden Space中的對象任然有效,則會將其復(fù)制到另外一個Suvivor Space。

就這樣不斷的掃描,最后經(jīng)過多次掃描發(fā)現(xiàn)任然有效的對象會被放入Old Gen表示其生命周期比較長,可以減少垃圾回收時間。

在JDK8之前,類定義、字節(jié)碼和常量等很少會變更的信息是放在持久代Perm Gen中的。不過在JDK8之后,Perm Gen已經(jīng)被取消了,現(xiàn)在叫做Metaspace。Metaspace并不在java虛擬機中,它使用的是本地內(nèi)存。Metaspace可以通過-XX:MaxMetaspaceSize來控制。

Code Cache是JVM用來存儲native code的,因為是用Heap的形式來存儲的,所以叫Code Heap。Code Heap被分為三個部分,Non-method,Profiled和Non-profiled。

Non-method部分包含的是非方法的code,比如說編譯器緩沖區(qū)和字節(jié)碼解釋器。這些代碼是永久保存在代碼緩存區(qū)中的。代碼堆的大小是固定的。Non-method使用-XX:NonMethodCodeHeapSize來控制。

Profiled部分表示存的是生命周期比較短的稍微優(yōu)化的profiled methods。Profiled使用–XX:ProfiledCodeHeapSize來控制。

Non-profiled存放的是優(yōu)化過的,non-profiled方法,并且他們的生命周期會比較長。Non-profiled用-XX:NonProfiledCodeHeapSize來控制。

最后還有一個Compressed Class Space,它是和-XX:+UseCompressedOops,-XX:+UseCompressedClassesPointers有關(guān)的。實際上是一個指針的壓縮,可以使用32bits來表示之前64bits的指針。

線程列出了程序目前正在運行的線程,如果點擊具體的線程信息還可以看到線程中的堆棧跟蹤和線程狀態(tài)統(tǒng)計,非常有用。

類很簡單,顯示了加載的類的個數(shù)。

VM信息展示了虛擬機相關(guān)的一些參數(shù)。

最后,MBean暴露了JVM中的一些Bean,我們可以查看這些bean的信息或者調(diào)用Bean中的方法。

以我們之前講過的JFR為例,我們可以調(diào)用JFR的startRecording,stopRecording等方法。

JConsole是一個比較簡單但是也很實用的profile工具,希望大家能夠在編寫代碼之余,多多考慮代碼的性能和效率。

看完上述內(nèi)容,是不是對如何使用JDK14中的Jconsole有進一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)頁標題:如何使用JDK14中的Jconsole
本文地址:http://aaarwkj.com/article0/ipodio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、靜態(tài)網(wǎng)站、網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化定制網(wǎng)站、小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
成人一区二区三区乱码| 亚洲人成免费观看网站| 高清av网站大全网站| 天堂av日韩在线播放| 久久99精品久久久子伦| 日本区一区二区三视频| 91免费版在线观看网址| av永久天堂一区二区三区| 中文字幕一区二区久久综合| 亚洲丰满性感美女av| 亚洲黄色av在线免费观看| 蜜桃精品国产一区二区三区| 国产精品黑丝美女91| 亚洲香蕉av在线一区二区三区| 少妇毛片一区二区三区| 亚洲伊人成综合人影院| 男人天堂在线视频网站| 日韩福利小视频在线| 国自产偷精品不卡在线| 一区二区三区毛片av网站| 国产精品亚洲av三区国产毛片| 99热这里66只有精品| 久久三级中文欧大战字幕| 男女真人啪啪视频免费| 日韩人妻精品在线一区二区| 99亚洲伊人久久精品影院| 欧美欧美欧美欧美一区| 一区二区中文字幕日本韩国| 日韩视频一区二区三区系列 | 亚洲第一国产综合自拍| 久久麻豆精亚洲av品国产一区| 日韩欧美一区二区三级| 开心激情欧美一区二区| 日韩一区中文字幕久久| 99久久久国产精品蜜臀| 很色很污无遮挡的网色污| 传媒视频免费在线观看| 日韩人妻一区中文字幕| 中文字幕乱码人妻一区二| 亚洲熟妇丰满多毛的大昊| 免费爱爱视频在线观看|