JVM - 方法區(永久代)的垃圾回收
方法區在HotSpot中也被成為永久代,該部分垃圾收集的效率比較低。
永久代主要針對廢棄常量和無用的類兩部分內容進行回收。
廢棄常量的回收:以常量池中字面量的回收為例,在當前系統中沒有任何地方引用某個字面量時,那麼如果此時發生垃圾回收,而且必要的話,該字面常量將會被回收掉。常量池中的其他類(介面),方法,欄位的符號引用的回收與此類似。
無用的類:同時滿足下面三個條件的類,才可以被回收,但是僅僅是可以,並非不使用了必然會回收,受虛擬機器引數控制。
1. 該類所有的例項都已經被回收,也就是Java堆中不存在該類的任何例項。
2. 載入類的ClassLoader已經被回收。
3. 該類對應的java.lang.Class物件沒有在任何地方被引用,無法在任何地方通過發射訪問該類的方法。
在大量使用反射、動態代CGLib等ByteCode框架、動態生成JSP以及OSGI這類頻繁自定義ClassLoader的場景都需要虛擬機器具備類解除安裝的功能,以保證永久代不會溢位。
相關文章
- (七)永久代(方法區)的垃圾回收
- 關於jvm的永久代會發生垃圾垃圾回收嗎?進來便知JVM
- JVM垃圾回收——新生代,老年代,永久代,Minor GC,Full GCJVMGC
- [JVM]垃圾回收JVM
- JVM垃圾回收JVM
- 【深入理解JVM】方法區 永久代 元空間JVM
- JVM 中的垃圾回收JVM
- JVM垃圾回收(下)JVM
- JVM垃圾回收概述JVM
- JVM垃圾回收器JVM
- JVM - 垃圾回收概述JVM
- JVM永久代JVM
- 關於JVM的垃圾回收JVM
- jvm的垃圾回收機制JVM
- JVM 垃圾回收演算法和垃圾回收器JVM演算法
- [效能][JVM]jvm垃圾回收機制JVM
- JVM系列(六) – JVM垃圾回收器JVM
- JVM系列(六) - JVM垃圾回收器JVM
- jvm 自動垃圾回收JVM
- JVM垃圾回收機制JVM
- JVM-垃圾回收篇JVM
- 淺談JVM垃圾回收JVM
- JVM垃圾回收歷險JVM
- JVM 垃圾回收機制JVM
- 更快的JVM垃圾回收器:ShenandoahJVMNaN
- JVM垃圾回收演算法JVM演算法
- 淺談JVM與垃圾回收JVM
- 帶你掌握JVM垃圾回收JVM
- 再看JVM:垃圾回收那些事JVM
- 理解JVM(七):垃圾回收器JVM
- jvm(4)---垃圾回收(哪些物件可以被回收)JVM物件
- 秒懂JVM的垃圾回收機制JVM
- JVM(五)垃圾回收器的前世今生JVM
- 聊聊JVM的垃圾回收機制GCJVMGC
- JVM系列(五) - JVM垃圾回收演算法JVM演算法
- 談談 JVM 垃圾回收機制JVM
- JVM(九):垃圾回收演算法JVM演算法
- 深入探究JVM之垃圾回收器JVM