方法区中的无用类回收
生活随笔
收集整理的這篇文章主要介紹了
方法区中的无用类回收
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
方法區(qū)主要回收的是無用的類,那么如何判斷一個類是無用的類的呢?
判定一個常量是否是“廢棄常量”比較簡單,而要判定一個類是否是“無用的類”的條件則相對苛刻許多。類需要同時滿足下面 3 個條件才能算是 “無用的類” :
該類所有的實(shí)例都已經(jīng)被回收,也就是 Java 堆中不存在該類的任何實(shí)例
加載該類的 ClassLoader 已經(jīng)被回收。
該類對應(yīng)的 java.lang.Class 對象沒有在任何地方被引用,無法在任何地方通過反射訪問該類的方法。
虛擬機(jī)可以對滿足上述 3 個條件的無用類進(jìn)行回收,這里說的僅僅是“可以”,而并不是和對象一樣不使用了就會必然被回收。
?
總結(jié)
以上是生活随笔為你收集整理的方法区中的无用类回收的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 不可达的对象一定要被回收吗?
- 下一篇: CPU使用率过高