欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

垃圾内存回收

程序员文章站 2022-05-13 14:41:54
...

  今天上午我们老师讲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.老师和同学的运行结果:

垃圾内存回收
            
    
    博客分类: java G1JDK6JDK7垃圾内存回收 
 

---------------------------------------------------------------- 

 

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

 gc():

 垃圾内存回收
            
    
    博客分类: java G1JDK6JDK7垃圾内存回收 
 
 finalize():

垃圾内存回收
            
    
    博客分类: java G1JDK6JDK7垃圾内存回收 
 
 

2.通过API知道finalize():

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

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

时候会调用finalize();

 

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

 垃圾内存回收
            
    
    博客分类: java G1JDK6JDK7垃圾内存回收 
 

4.然后就在网上搜:

垃圾内存回收
            
    
    博客分类: java G1JDK6JDK7垃圾内存回收 
 

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

垃圾内存回收
            
    
    博客分类: java G1JDK6JDK7垃圾内存回收 
 

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

 

7.求大神指点.

 

8.补充:

修饰符的作用范围:
 垃圾内存回收
            
    
    博客分类: java G1JDK6JDK7垃圾内存回收 

对于protected:


 垃圾内存回收
            
    
    博客分类: java G1JDK6JDK7垃圾内存回收 
 
 

 

 

 

 

     

  • 垃圾内存回收
            
    
    博客分类: java G1JDK6JDK7垃圾内存回收 
  • 大小: 136.9 KB
  • 垃圾内存回收
            
    
    博客分类: java G1JDK6JDK7垃圾内存回收 
  • 大小: 14.4 KB
  • 垃圾内存回收
            
    
    博客分类: java G1JDK6JDK7垃圾内存回收 
  • 大小: 44.4 KB
  • 垃圾内存回收
            
    
    博客分类: java G1JDK6JDK7垃圾内存回收 
  • 大小: 4.9 KB
  • 垃圾内存回收
            
    
    博客分类: java G1JDK6JDK7垃圾内存回收 
  • 大小: 14.4 KB
  • 垃圾内存回收
            
    
    博客分类: java G1JDK6JDK7垃圾内存回收 
  • 大小: 7 KB
  • 垃圾内存回收
            
    
    博客分类: java G1JDK6JDK7垃圾内存回收 
  • 大小: 25.8 KB
  • 垃圾内存回收
            
    
    博客分类: java G1JDK6JDK7垃圾内存回收 
  • 大小: 52.8 KB