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() ;//执行垃圾回收

转载于:https://www.cnblogs.com/yuedongwei/archive/2011/07/21/4145680.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值