成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

細(xì)述 Java垃圾回收機(jī)制→Java Garbage Collection Monitoring a

xuhong / 2283人閱讀

摘要:垃圾回收監(jiān)控和分析工具是在安裝時免費(fèi)提供的。監(jiān)控現(xiàn)在可以監(jiān)控垃圾回收過程了。至少我們可以知道程序中存在和對象內(nèi)存分配和垃圾回收相關(guān)的問題。到此為止,關(guān)于垃圾回收的系列文章已經(jīng)完結(jié)了。

本文非原創(chuàng),翻譯自Java Garbage Collection Monitoring and Analysis
在Java中為對象分配和釋放內(nèi)存空間都是由垃圾回收線程自動執(zhí)行完成的。和C語言不一樣的是Java程序員不需要手動寫垃圾回收相關(guān)的代碼。這是使得Java如此流行,同時也是Java能幫助程序員寫出更好的Java應(yīng)用的優(yōu)點之一。

在這篇Java垃圾回收系列文章中,讓我們看下一些監(jiān)控和分析垃圾回收的工具。然后用工具嘗試監(jiān)控和分析一個例子。

Java垃圾回收監(jiān)控和分析工具

Java VisualVM

Naarad

GCViewer

IBM Pattern Modeling and Analysis Tool for Java Garbage Collector

HPjmeter

IBM Monitoring and Diagnostic Tools for Java – Garbage Collection and Memory

Visualizer

Verbose GC Analyzer

Java VisualVM

Java VisualVM是在Java SE SDK安裝時免費(fèi)提供的??聪履愕腏ava JDK安裝目錄下的/bin目錄,Javajdk1.8.0bin。此目錄下有許多其他工具包括javac和java工具,jvisualvm就是其中一個。

Java VisualVM對運(yùn)行中的Java應(yīng)用提供了可視化的信息展示。它是很多工具的整合包,像工具JConsole,jstat,jinfo,jstack以及jmap現(xiàn)在都是Java VisualVM的一部分。

Java VisualVM可以用來 - 生成和分析堆內(nèi)存的dump - 觀察和操作MBeans - 監(jiān)控垃圾回收 - 內(nèi)存和CPU性能分析

Launch VisualVM

jvisualvm已經(jīng)包含在了JDK的bin目錄下,如果以設(shè)置環(huán)境變量path,則可以直接在命令行中運(yùn)行jvisualvm,將出現(xiàn)如下啟動界面

安裝Visual GC插件

我們需要安裝visual GC 插件才能有個堆Java GC線程的漂亮和有價值的視覺感受。在上面的啟動界面中點擊工具->插件->可用插件->Visual GC

(不知道什么原因,這張圖片就是上傳不成功,只有附上外鏈地址將就看了,抱歉)

安裝。

監(jiān)控GC

現(xiàn)在可以監(jiān)控垃圾回收過程了。開啟你的Java應(yīng)用程序,Java VisualVM會自動檢測并將其顯示到界面上。在左邊“應(yīng)用程序”面板的“本地”節(jié)點下面,所有本地運(yùn)行的Java應(yīng)用都會被列舉出來。

Java VisualVM自己本身也是一個Java應(yīng)用程序,因此它自身也被列了出來。作為本文的目的我們將監(jiān)控VisualVM應(yīng)用本身的GC過程。

雙擊“本地”節(jié)點下的VisualVM圖標(biāo)。

這樣應(yīng)用程序的監(jiān)控面板會在右邊打開。面板上有多個標(biāo)簽,每個里面展示了與應(yīng)用程序性能相關(guān)的方面。由于我們現(xiàn)在主要關(guān)注“Visual GC”,so,點之。

上面的圖片顯示了Old,Eden,S0,S1使用的內(nèi)存空間。下面的圖表顯示了各個部分申請和釋放內(nèi)存的詳細(xì)信息。它以設(shè)定的刷新頻率不停地跟新。

上圖顯示的是一個正常運(yùn)行的程序。當(dāng)發(fā)生內(nèi)存泄露或者不正常的操作時,可以從圖形本身明顯地看出來。至少我們可以知道程序中存在和對象內(nèi)存分配和垃圾回收相關(guān)的問題。然后利用其他標(biāo)簽如“Threads”中提供的信息和Thread Dump我們可以縮小發(fā)生問題的范圍。

在“監(jiān)視”標(biāo)簽中,我們可以看到以時間線發(fā)展的內(nèi)存使用概況圖。這里有個“執(zhí)行垃圾回收”按鈕可以調(diào)用垃圾回收過程。

在“抽樣器”標(biāo)簽中我們可以開始內(nèi)存和CPU分析工作。抽樣器會實時顯示各個實例的使用情況。它可以幫助確定性能問題到底發(fā)生在哪里。

到此為止,關(guān)于Java 垃圾回收的系列文章已經(jīng)完結(jié)了。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/65040.html

相關(guān)文章

  • 細(xì)述 Java垃圾回收機(jī)制Java Garbage Collection Introduction

    摘要:在架構(gòu)中,堆內(nèi)存和垃圾回收器這兩個部分和垃圾回收相關(guān)。堆內(nèi)存在的內(nèi)存模型中,最重要的是要了解堆內(nèi)存的概念。在垃圾回收的過程中,這些對象將被從堆內(nèi)存中清除,同時它們的空間也就被回收了。 本文非原創(chuàng),翻譯自Java Garbage Collection introduction在Java中為對象分配和釋放內(nèi)存空間都是由垃圾回收線程自動執(zhí)行完成的。和C語言不一樣的是Java程序員不需要手動寫...

    codergarden 評論0 收藏0
  • 細(xì)述 Java垃圾回收機(jī)制→How Java Garbage Collection Works?

    摘要:當(dāng)一個實例被創(chuàng)建的時候,它最初被存放在堆內(nèi)存空間的年輕代的區(qū)中。老年代或者永久代是堆內(nèi)存的第二個邏輯部分。在垃圾回收過程中掃描屬于部分的堆內(nèi)存。一旦實例從堆內(nèi)存中刪除了,它們原來的位置將空出來給以后分配實例使用。 本文非原創(chuàng),翻譯自How Java Garbage Collection Works?在Java中為對象分配和釋放內(nèi)存空間都是由垃圾回收線程自動執(zhí)行完成的。和C語言不一樣的是...

    cc17 評論0 收藏0
  • 細(xì)述 Java垃圾回收機(jī)制→Types of Java Garbage Collectors

    摘要:并發(fā)標(biāo)記清除垃圾回收器,使用多個線程來掃描堆內(nèi)存并標(biāo)記可被清除的對象,然后清除標(biāo)記的對象。垃圾回收器應(yīng)用于大的堆內(nèi)存空間。它將堆內(nèi)存空間劃分為不同的區(qū)域,對各個區(qū)域并行地做回收工作。它會通過把重復(fù)的值移動到同一個數(shù)組來優(yōu)化堆內(nèi)存占用。 本文非原創(chuàng),翻譯自Types of Java Garbage Collectors在Java中為對象分配和釋放內(nèi)存空間都是由垃圾回收線程自動執(zhí)行完成的。...

    Julylovin 評論0 收藏0
  • 程序員練級攻略(2018):Java底層知識

    摘要:最黑科技的玩法就是字節(jié)碼編程,也就是動態(tài)修改或是動態(tài)生成字節(jié)碼。使用字節(jié)碼編程可以玩出很多高級玩法,其中最高級的玩法是在程序運(yùn)行時進(jìn)行字節(jié)碼修改和代碼注入。 showImg(https://segmentfault.com/img/bVbkqqg?w=1142&h=640);這個是我訂閱 陳皓老師在極客上的專欄《左耳聽風(fēng)》,我貼出來是為了自己以后方便學(xué)習(xí)和記憶,同時也分享給你們一起學(xué)習(xí)...

    wean 評論0 收藏0
  • JVM 的 工作原理,層次結(jié)構(gòu) 以及 GC工作原理

    摘要:執(zhí)行引擎作用執(zhí)行字節(jié)碼,或者執(zhí)行本地方法運(yùn)行時數(shù)據(jù)區(qū)其實就是指在運(yùn)行期間,其對內(nèi)存空間的劃分和分配。 雖是讀書筆記,但是如轉(zhuǎn)載請注明出處https://uestc-dpz.github.io..拒絕伸手復(fù)制黨 JVM Java 虛擬機(jī) Java 虛擬機(jī)(Java virtual machine,JVM)是運(yùn)行 Java 程序必不可少的機(jī)制。JVM實現(xiàn)了Java語言最重要的特征:即平臺...

    qqlcbb 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<