真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何使用HSDB探秘運行時數(shù)據(jù)區(qū)

本篇文章為大家展示了如何使用HSDB探秘運行時數(shù)據(jù)區(qū),內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計、成都做網(wǎng)站、煙臺網(wǎng)絡(luò)推廣、重慶小程序開發(fā)、煙臺網(wǎng)絡(luò)營銷、煙臺企業(yè)策劃、煙臺品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)公司為所有大學生創(chuàng)業(yè)者提供煙臺建站搭建服務(wù),24小時服務(wù)熱線:028-86922220,官方網(wǎng)址:www.cdcxhl.com

HSDB全稱是HotSpotDebugger, HotSpot虛擬機的調(diào)試工具,在使用的時候,需要程序處在暫停的狀態(tài),可以直接使用Idea的debug工具. 使用HSDB可以看到堆棧里面相關(guān)的內(nèi)容,

啟動HSDB

無論哪種方式啟動,都需要先知道當前java程序的進程號,我們使用jps命令,如下圖所示:

然后我們使用命令 jhsdb hsdb --pid=87854 來啟動HSDB,如下圖所示:

如何使用HSDB探秘運行時數(shù)據(jù)區(qū)

使用HSDB查看JVM虛擬機棧信息

我們知道,在創(chuàng)建一個線程時,都會有一個為之分配一個jvm棧,如上圖我們可以看到在java Threads中有5個線程,我們選中main線程,然后點擊上面的查看棧信息的圖標,如下圖所示:

如何使用HSDB探秘運行時數(shù)據(jù)區(qū)

1:在原java Threads面板上,點第二個按鈕,可召喚出Stack Memory for main 這個面板.

Stack Memory for main 面板主體有三大部分,如上圖所述

2:最左側(cè)是棧的內(nèi)存地址

3:中間一列是該地址上存的值(大多是別的對象的地址),

4:最右側(cè)是HotSpot的說明

5:在右側(cè)的說明中, 我們可以此時棧中有兩個棧幀(Frame)

大家看到 Young com/platform/tools/jvm/Main$TestObject 這個我們定義的對象,記住這個地址0x00000001161d11e0 代表這個對象是在棧中被引用

使用HSDB查看堆信息

我們的對象大都是在堆里面,我們可以借助HSDB看堆中有多少個實例對象,如下圖所示

如何使用HSDB探秘運行時數(shù)據(jù)區(qū)

1:點擊 Tools->Object Histogram ,打開右邊的Object Histogram面板

2:在2處輸入我們的類全名,然后點3望遠鏡搜索,在下面會顯示 我們的類,有三個實例

4:可以雙擊選中我們的類, 也可以放大鏡,可以打開Show Objects of Type 面板 看到三個實例的詳情

其中第三個,就是我們在棧中看到的方法內(nèi)的成員變量.

對于另外兩個,需要通過反向指針查詢 ,看哪個類引用了這個實例,來看是哪個變量

HSDB使用revptrs 看實例引用

對于上面還有兩個地址, 我們不能確定是什么對象,所以我們可以通過指針反查來看他們被什么所引用,如下圖所示:

如何使用HSDB探秘運行時數(shù)據(jù)區(qū)

如上圖,我們可以看到,一個被Class對象所引用, 是類靜態(tài)變量,一個被jvm/Main , 也就是我們Main類引用, 是類成員變量. 通過這個我們也可以總結(jié), 靜態(tài)變量,其實也是存在堆里面.

Class,static及Klass的關(guān)系

這個版本的hsdb 有些指令不支持,如mem , whatis等,所以要深入學習的小伙伴可以用jdk1.8的hsdb試下上述兩個命令

多個Java對象(Java Object,在堆中)對應同一個Klass(在MetaSpace中)對應同一個Class對象(在堆中), 類的靜態(tài)變量地址都存在Class對象的后面(所以也在堆中)。

上述內(nèi)容就是如何使用HSDB探秘運行時數(shù)據(jù)區(qū),你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


當前題目:如何使用HSDB探秘運行時數(shù)據(jù)區(qū)
網(wǎng)站地址:http://weahome.cn/article/pchdho.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部