一、引用計數法
JVM如何確定垃圾
在 Java 中,引用和對象是有關聯的。如果要操作對象則必須用引用進行。因此,很顯然一個簡單的辦法是通過引用計數來判斷一個對象是否可以回收。簡單說,即一個對象如果沒有任何與之關聯的引用,即他們的引用計數都不爲 0,則說明對象不太可能再被用到,那麼這個對象就是可回收 對象。
二、可達性分析
爲了解決引用計數法的循環引用問題,Java 使用了可達性分析的方法。通過一系列的“GC roots” 對象作爲起點搜索。如果在“GCroots”和一個對象之間沒有可達路徑,則稱該對象是不可達的。要注意的是,不可達對象不等價於可回收對象,不可達對象變爲可回收對象至少要經過兩次標記過程。兩次標記後仍然是可回收對象,則將面臨回收
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
Java近期新聞:Micronaut,Quarkus,JDK 18,Spring HATEOAS和JKDMon
Michael Redlich
2021-12-03 14:23:56
Java近期新聞:JDK 18發版計劃、Spring Data 2021_1_0、蘋果開源GCGC
Michael Redlich
2021-11-19 10:48:55
Java近期新聞:微軟加入JCP、Helidon發佈2_4_0、OpenJDK及JDK 18更新
Michael Redlich
2021-11-12 13:28:50
Java近期新聞:Hibernate Reactive 1.0、Spring、OpenJDK、Cryostat 2.0
Michael Redlich
2021-11-05 15:43:49
Java近期新聞:Grail 5.0、Spring、Hibernate、WildFly及Kotlin Multik開發庫更新
Michael Redlich
2021-10-29 14:48:50
Java近期新聞:Spring Boot更新、Eclipse Temurin JDK 17發佈、Camel將不再支持JDK 8
Michael Redlich
2021-10-04 11:28:57
Java近期新聞綜述:JDK LTS新的發佈節奏、OpenJDK、Spring更新、Helidon以及Payara平臺
Michael Redlich
2021-09-29 16:18:57
爲社麼以及如何升級至Java 16或17
Johan Janssen
2021-09-18 08:03:58
Java 近期新聞綜述:Jakarta EE 10核心Profile、OpenJDK、Open Liberty、Payara、Groovy 及Quarkus
Michael Redlich
2021-09-17 12:08:57
Java近期新聞綜述:Spring 6.0和SpringBoot 3.0、OpenJDK和Quarkus更新的路線圖
Michael Redlich
2021-09-08 15:08:54
Java 16 新特性介紹
Sander Mak
2021-09-03 17:58:55
Java 近期新聞綜述:Micronaut 3.0、Open Liberty Starter、Spring Boot、GraalVM 及 JEP 400
Michael Redlich
2021-08-28 11:58:53
Java近期新聞綜述:織機項目,JMC,Spring Data,Kotlin和Micronaut的最新進展
Michael Redlich
2021-08-20 16:33:56