首页 > 其他 > 详细

垃圾内存回收

时间:2015-05-30 02:08:51      阅读:276      评论:0      收藏:0      [点我收藏+]

? 今天上午我们老师讲Java的垃圾内存回收机制,然后下午我就写这个简单的几句好多次,不是说代码很长,就那么几句的,就是有些想不懂的。

? 老师讲的垃圾内存回收:

? 1.垃圾内存:

? 就是通过new关键字分配内存并创建了一个对象,比如new?Garbage();就是在产生垃圾

??

? 2.垃圾回收:

? 通过调用finalize()方法,来进行回收.

?

? 3.代码:

class Garbage
{

  int index;//判断销毁的对象编号
  static int count;

  Garbage(){

     count = count+1;
     System.out.println("object:"+count+"constructed.");
     setID(count);
  }

  void setID(int id){
    
  index = id;

}

 protected void finalize(){
 
 System.out.println("object:"+index+"is reclaimed.");

}

public static void main(String[] args){

new Garbage();
new Garbage();
new Garbage();
new Garbage();
new Garbage();
new Garbage();
System.gc();

}



}

?

?4.老师和同学的运行结果:

bubuko.com,布布扣
?

----------------------------------------------------------------?

?

1.看API查看gc(),和finalize()方法:

?gc():

?bubuko.com,布布扣
?
?finalize():

bubuko.com,布布扣
?
?

2.通过API知道finalize():

? 1.显式的调用finalize方法,会调用finalize();

? 2.所有对象被Garbage Collection时自动调用,比如运行System.gc()的

时候会调用finalize();

?

3.然后我的运行结果如下:

?bubuko.com,布布扣
?

4.然后就在网上搜:

bubuko.com,布布扣
?

5.最后得出是可能是JDK版本问题,老师的是JDK6,我的是JDK7:

bubuko.com,布布扣
?

6.然后看了好久的G1垃圾收集器,这个没看懂的

?

7.求大神指点.

?

?

?

?

? ? ?

垃圾内存回收

原文:http://cb123456.iteye.com/blog/2215524

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!