JVM永久代
複習備用,感謝開源
永久代
永久代是用於存放靜態檔案,如Java類、方法等。
持久代對垃圾回收沒有顯著影響,但是有些應用可能動態生成或者呼叫一些class,
例如Hibernate 等,在這種時候需要設定一個比較大的持久代空間來存放這些執行過程中新增的類
永久代中一般包含:
-1 類的方法(位元組碼...)
-2 類名(Sring物件)
-3 .class檔案讀到的常量資訊
-4 class物件相關的物件列表和型別列表 (e.g., 方法物件的array).
-5 JVM建立的內部物件
-6 JIT編譯器優化用的資訊
永久代與方法區
永久帶是方法區的一種實現,其中儲存類别範本資訊,常量以及靜態變數。
永久代的回收機制
hotspot的方法區存放在永久代中,因此方法區被人們稱為永久代。永久代的垃圾回收主要包括型別的解除安裝和廢棄常量池的回收。當沒有物件引用一個常量的時候,該常量即可以被回收。而型別的解除安裝更加複雜。必須滿足一下三點,該型別的所有例項都被回收了,該型別的ClassLoader被回收了,該型別對應的java.lang.Class沒有在任何地方被引用,在任何地方都無法通過反射來例項化一個物件
相關文章
- jvm的永久代JVM
- JVM 中的永久代JVM
- JVM - 方法區(永久代)的垃圾回收JVM
- 對jvm堆中年輕代,老年代,永久代的理解JVM
- JVM記憶體管理、JVM垃圾回收機制、新生代、老年代以及永久代JVM記憶體
- JVM垃圾回收——新生代,老年代,永久代,Minor GC,Full GCJVMGC
- 【深入理解JVM】方法區 永久代 元空間JVM
- 對JVM中垃圾回收機制的個人理解--新生代,老年代,永久代JVM
- 深入理解JVM虛擬機器1:JVM記憶體的結構與消失的永久代JVM虛擬機記憶體
- 關於jvm的永久代會發生垃圾垃圾回收嗎?進來便知JVM
- Java永久代去哪兒了Java
- Java面試題虛擬機器為什麼使用元空間替換了永久代(JVM篇)Java面試題虛擬機JVM
- 常用的jvm配置引數 :永久區引數配置JVM
- 聊聊JVM的年輕代JVM
- JVM 年輕代和年老代 大小設定JVM
- Java 虛擬機器永久代的垃圾收集Java虛擬機
- 輕鬆理解JVM的分代模型JVM模型
- jvm垃圾分代回收演算法JVM演算法
- JDK8-廢棄永久代(PermGen)迎來元空間(Metaspace)JDK
- jvm的新生代和老年代簡介JVM
- JVM 記憶體分代、垃圾回收漫談JVM記憶體
- Java8記憶體模型—永久代(PermGen)和元空間(Metaspace)Java記憶體模型
- 深入理解JVM——(三)為什麼JVM新生代需要兩個Survivor區JVM
- JVM調優總結-分代垃圾回收詳述1JVM
- JVM調優總結-分代垃圾回收詳述2JVM
- Java虛擬機器:JVM記憶體分代策略Java虛擬機JVM記憶體
- JVM調優總結(五)-分代垃圾回收詳述1JVM
- JVM調優總結(六)-分代垃圾回收詳述2JVM
- 一文吃透JVM分代回收機制(以SerialGC為例)JVMGC
- 永久化alias命令
- JVM(六)為什麼新生代有兩個Survivor分割槽?JVM
- 從原理聊JVM(三):詳解現代垃圾回收器Shenandoah和ZGCJVMNaNGC
- JVM調優總結(九)-新一代的垃圾回收演算法JVM演算法
- SELinux如何永久禁用Linux
- Ubuntu 永久修改 ulimit -nUbuntuMIT
- [Linux] alias永久生效Linux
- dbms_service 永久有效
- 【JVM】JVM系列之JVM體系(一)JVM