垃圾回收机制
作者:互联网
JAVA中的垃圾回收机制:
1.什么样的对象会被当成垃圾?
--当一个对象的地址(引用)没有被记录的时候,该对象就会被当成垃圾回收,进行处理
2.如何校验是否被回收
-- 引用object对象中的()方法,重写finalize方法
![](file:///C:/Users/86132/AppData/Local/Temp/enhtmlclip/Image(8).png)
![](file:///C:/Users/86132/AppData/Local/Temp/enhtmlclip/Image(9).png)
![](file:///C:/Users/86132/AppData/Local/Temp/enhtmlclip/Image(8).png)
public class Finalize { // --当一个对象的地址(引用)没有被记录的时候,该对象就会被当成垃圾回收,进行处理 public static void main(String[] args) { /* * 第一种方式 * 垃圾对象,没有引用,当只有一个垃圾时,不会被清理,除非数量较大才会被清理 * * */ for (int i = 0; i <5000000 ; i++) { new Demo(); } /* * 第二种方式 * 通知垃圾回收器,回收垃圾 * * */ for (int i = 0; i <50 ; i++) { new Demo(); } System.gc(); } } class Demo extends Object{ //重写finalize方法 @Override protected void finalize() throws Throwable { System.out.println("垃圾被回收清理"); } }
3.怎样通知垃圾回收器回收对象 调用 System.gc静态方法通知清理垃圾 4.如和判断那些对象是需要回收的? jvm采用的方法:跟搜索方法 从找到引用节点GC ROOT开始,搜索引用节点,
![](file:///C:/Users/86132/AppData/Local/Temp/enhtmlclip/Image(9).png)
标签:对象,当成,回收,垃圾,机制,public,引用 来源: https://www.cnblogs.com/zxfirst/p/12500285.html