垃圾回收

Posted yoursixuncle

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了垃圾回收相关的知识,希望对你有一定的参考价值。

1.垃圾回收回收什么东西?

 垃圾回收只会回收托管堆中的资源

2什么样的对象会被回收?

Person p1=new Person();

p1.Age=10;

p1.Name="xx";

p1=null;

当Person这个对象不再被任何一个变量引用是就可以回收了。

而当

Person p1=new Person();

p1.Age=10;

p1.Name="xx";

Person p2=p1;

p1=null;

虽然p1指向的是空地址,但是p2指向的仍然是Person对象的地址,所以不能被回收;

只要有变量引用该对象就不能被回收

3.什么时候被回收?

这个不确定。

千万不要手动垃圾回收GC.Collect();

因为手动垃圾回收会是短暂程序暂停,还会打乱原本的回收机制,得不偿失!

以上是关于垃圾回收的主要内容,如果未能解决你的问题,请参考以下文章

经典的垃圾回收器

Java学习笔记3.11.2 垃圾回收 - 垃圾回收的实现方式

JVM之G1垃圾回收器

JVM专题--垃圾回收算法, 垃圾回收器

JVM垃圾回收篇(垃圾回收器基本概述)

JVM垃圾回收篇(垃圾回收器基本概述)