gc root總結


gc中不能被回收的對象,叫做gc root,官網上說的太細了;現在大體總結一下如下:

1.SystemClassLoader加載的類(包括了靜態變量)
就是appClassLoader(classpath指定的目錄中的類,都能被其加載)

2.虛擬機緩存類對象
常量池(Constant Pool)
符號表(symbol Table)
字符串表(String Table)
基本類型包裝類緩沖池

3.存活的thread對象
活動線程的控制對象,也不應該被回收

4.thread棧
線程棧中引用的對象,也不應該會回收

5.synchronided object
正在被當成鎖對象的,不能被回收

6.jni引用的java對象
包括本地全局變量、本地線程棧

7.虛擬機自己使用的用於管理的對象
虛擬機為了完成任務,創建的Java對象,這些不應該被gc管理


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM