java中的垃圾回收机制

java.lang.object

如果一个类没有从其他类派生那么他总从 object类派生 这个类中有 protected void finalize()这个函数 这个对象将被回收的时候 会调用这个函数 我们可以在 我们创建的 类中重写这个函数 来实现垃圾回收模拟

在jvm虚拟机中垃圾回收是作为第一优先级的线程执行 当内存不够的时候才会执行 所以我们再 我们重载我finalize函数 看不到输出

如果我们想让垃圾回收运行

system.gc() 显示运行垃圾收集器 System类中的静态函数 执行垃圾回收

代码如下 :

public class garbage
{
int index;

static int count =0;
garbage()
{
System.out.println("object" + count + "construct!");
count++;
setIndex(count);
}
void setIndex(int n)
{
index=n;
showIndex();
}
void showIndex()
{
System.out.println(this.index);
}
protected void finalize()
{
System.out.println("object"+index+ "is reclaimed");
}
public static void main(String []args)
{
new garbage(); //构造类的实例
new garbage();
new garbage();
new garbage();
System.gc() ;//执行垃圾回收

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值