黑马程序员技术交流社区
标题:
关于垃圾回收
[打印本页]
作者:
贾存双
时间:
2012-7-15 00:30
标题:
关于垃圾回收
为什么垃圾回收是在整个程序运行完才执行啊??
class Person{
private String name ;
private int age ;
public Person(String name,int age){
this.name = name ;
this.age = age ;
}
public String toString(){
return "姓名:" + this.name + " 年龄:" + this.age ;
}
public void finalize() throws Throwable{
System.out.println("垃圾被释放了--->:" + this ) ;
}
}
public class OSDemo2{
public static void main(String args[]){
long startTime = System.currentTimeMillis() ;
System.getProperties().list(System.out) ;
System.out.println("===============================") ;
System.out.println("当前系统信息:" + System.getProperty("os.name")) ;
System.out.println("当前系统信息:" + System.getProperty("os.arch")) ;
System.out.println("当前系统版本:" + System.getProperty("os.version")) ;
System.out.println("当前用户名字:" + System.getProperty("user.name")) ;
System.out.println("当前用户国家:" + System.getProperty("user.country")) ;
System.out.println("===============================") ;
Person per =new Person("J.rain",23) ;
per = null ;
System.gc() ;
long endTime = System.currentTimeMillis() ;
System.out.println("\n总共运行时间:" + (endTime - startTime) + "毫秒") ;
}
} ;
结果:
操.jpg
(21.31 KB, 下载次数: 46)
下载附件
2012-7-15 00:29 上传
作者:
丁二跃
时间:
2012-7-15 00:39
垃圾回收由一个低级别的线程进行管理……当cpu空闲 或者内存不够用时 运行
我们可以使用 System.gc()或者 Runtime.getRuntime().gc() 来调用垃圾回收 ,但是要注意这个调用
只是建议虚拟机进行垃圾回收,但是不一定立即进行……
作者:
dev
时间:
2012-7-15 00:53
其实
垃圾回收器它是不定时执行的
,是在内存自动调度分配来执行的,
我们
可以使用java给我们提供的方法去建议回收器回收垃圾
,但是它
不一定马上去执行,有可能在不确定的情况下执行了。
垃圾回收器就是java中的一种机制
,它屏弃了程序员在繁琐的手动的
去删除这些无用的垃圾,它也是java比较易学的体现原因之一。
作者:
贾存双
时间:
2012-7-15 03:11
可我是手动回收的啊
作者:
咸明月
时间:
2012-7-15 09:52
因为必须用完才能回收啊
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2