原文:JVM源碼分析之MetaspaceSize和MaxMetaspaceSize的區別

JVM加載類的時候,需要記錄類的元數據,這些數據會保存在一個單獨的內存區域內,在Java 里,這個空間被稱為永久代 Permgen ,在Java 里,使用元空間 Metaspace 代替了永久代。永久代和元空間保存的數據並不完全一樣,永久代中還保存另一些與類的元數據無關的雜項。 如我們之前的一篇文章 :字符串對象在JVM中是如何存放的中說的,在Java 里將字符串常量從永久代移動到了堆區域,但是 ...

2019-10-04 21:46 0 1398 推薦指數:

查看詳情

JVM參數MetaspaceSize的誤解

前言 昨天謝照東大神在群里提出一個問題:怎么查看Metaspace里具體包含的是什么,起因是他的某個服務設置了-XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m,但是通過jstat -gcutil pid查看M的值為98(M ...

Thu Aug 30 17:07:00 CST 2018 0 7582
JVM源碼分析-JVM源碼編譯與調試

分析JVM源碼,結合資料直接閱讀是一種方式,但是遇到一些想不通的場景,必須要結合調試,查看執行路徑以及參數具體的值,才能搞得明白。所以我們先來把JVM源碼進行編譯,並能夠使用GDB進行調試。 編譯環境 本文使用的JDK版本:OpenJDK7,分支b147 下載頁面:https ...

Thu Feb 06 04:40:00 CST 2020 1 2245
JVM源碼分析JVM啟動流程

原創申明:本文由公眾號【猿燈塔】原創,轉載請說明出處標注 “365篇原創計划”第十四篇。 今天呢!燈塔君跟大家講: JVM源碼分析JVM啟動流程 前言: 執行Java類的main方法,程序就能運行起來,main方法的背后,虛擬機究竟發生了什么?如果你對這個感興趣 ...

Fri May 22 00:51:00 CST 2020 0 610
JVM源碼分析之synchronized實現

“365篇原創計划”第十二篇。 今天呢!燈塔君跟大家講: JVM源碼分析之synchronized實現 java內部鎖synchronized的出現,為多線程的並發執行提供了一個穩定的環境,有效的防止多個線程 ...

Thu May 21 00:50:00 CST 2020 1 699
JVM源碼分析之Java對象頭實現

原創申明:本文由公眾號【猿燈塔】原創,轉載請說明出處標注 “365篇原創計划”第十一篇。 今天呢!燈塔君跟大家講: JVM源碼分析之Java對象頭實現 HotSpot虛擬機中,對象在內存中 ...

Tue May 19 00:09:00 CST 2020 0 639
JVM源碼分析之SystemGC完全解讀

JVM源碼分析之SystemGC完全解讀 概述 JVM的GC一般情況下是JVM本身根據一定的條件觸發的,不過我們還是可以做一些人為的觸發,比如通過jvmti做強制GC,通過System.gc觸發,還可以通過jmap來觸發等,針對每個場景其實我們都可以寫篇文章來做一個介紹,本文重點介紹下 ...

Wed Mar 08 17:29:00 CST 2017 0 2273
JVM 源碼分析(三):深入理解 CAS

前言 什么是 CAS Java 中的 CAS JVM 中的 CAS 前言 在上一篇文章中,我們完成了源碼的編譯和調試環境的搭建。 鑒於 CAS 的實現原理比較簡單, 然而很多人對它不夠了解,所以本篇將從 CAS 入手,首先介紹 ...

Thu Jan 14 23:35:00 CST 2021 0 455
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM