91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JVM的秘密空間是什么

發布時間:2021-11-01 16:51:47 來源:億速云 閱讀:138 作者:iii 欄目:編程語言

本篇內容介紹了“JVM的秘密空間是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

軟件運行或者程序開發中,有時候會需要寫一些臨時文件,那寫這些臨時文件的目錄在哪呢?不同的軟件,不同的語言,以及不同的操作系統都有所區別。在 Java  語言的世界里,因為是跨平臺的語言,而且每個人的設置并不相同,所以這對應到具體當前系統的臨時文件在哪,可以通過在代碼里獲取環境變量。

System.getProperty("java.io.tmpdir") 來看。

這個目錄除了我們可以做為臨時目錄外,是不是我們不寫文件的時候就用不到了呢?

其實并不是。這個目錄相當于 JVM 的「秘密花園」,虛擬機會在這里記錄許多的信息。

例如每一個 java 的進程,都會在該臨時目錄下的 `hsperfdata_$USER(你自己的用戶名)`目錄生成一個進程ID對應的文件。

可能有人遇到這種問題,Java 程序可以正常執行,但是通過 jps 命令不能把進程給列出來。這種一般都是和 tmpdir  有關,直接查看是否有對應的寫權限,磁盤是否已滿。

以后你無論是執行jps 命令,還是其他監控診斷類的應用需要 attach 到JVM 的時候,如果需要提供Java  進程列表,都會從這兒讀取。而且這個進程文件并不是個空文件,里面有大量的內容。

所以我們常用的 jstat 以及我們以前文章中提到的JConsole、JVisualVM、SA 等工具,都會從這個文件這里讀內容,再進行展示。

文件的內容哪里來的呢?

這了支持對 JVM 的監控,虛擬機里特地開辟了一塊內存,用來存放這些性能統計相關的數據,統稱為 PerfData,這也是前面目錄稱為  hsperfdata的原因。隨著 Java  進程的不斷運行,那些不斷變化的監控值,虛擬機一般會通過共享內存的方式將內存與這個文件進行映射。并在數據變化的時候刷新到文件。

比如我們可以通過命令來查看加載類的信息,以及像gc 的一些數據

jstat -class file:///<path>/hsperfdata/<pid> jstat -gc file:///<path>/hsperfdata/<pid>

還不過癮,可以試試這個命令,查看更多的監控信息

jstat -J-Djstat.showUnsupported=true -snap  pid

選項默認是開啟的,對性能的影響基本可以忽略,如果想要關閉,可以通過-XX:-UsePerData 來操作,

這個JVM參數官方說明如下

-XX:+UsePerfData

  • Enables the perfdata feature. This option is enabled by default to allow JVM  monitoring and performance testing. Disabling it suppresses the creation of the  hsperfdata_userid directories. To disable the perfdata feature, specify  -XX:-UsePerfData.

這個文件就是我們通過外部監控工具 attach 到 JVM 的時候,讀到的那些內容。

這個秘密空間,在 JVM 內部是通過 PerfMemory 的模塊來統一管理的,負責創建、分配和銷毀。

正常情況下JVM 退出時會把該文件同步刪除,但如果異常kill 的情況,那文件會保留下來,一直留著。下次執行哪怕一個簡單的 jps 等命令時,只要啟動了  java 進程,都會判斷下該目錄下文件對應的進程是否存在,沒有就會刪除了。

“JVM的秘密空間是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

贺兰县| 湖南省| 浑源县| 上思县| 通渭县| 东乌| 山阳县| 广河县| 九寨沟县| 梨树县| 平泉县| 湘西| 建水县| 德化县| 大荔县| 舞阳县| 体育| 河津市| 堆龙德庆县| 华池县| 盘锦市| 紫云| 朝阳区| 朝阳县| 句容市| 新源县| 大洼县| 汽车| 丰台区| 潍坊市| 岱山县| 黎川县| 仪征市| 海伦市| 阳泉市| 石泉县| 玛多县| 塔河县| 巴青县| 舟曲县| 昭觉县|