赞
踩
垃圾回收机制只负责回收堆内存中的对象,不会回收任何物理资源(例如数据库连接,网络IO等资源)。
如果希望垃圾回收机制回收某个对象,只需要将对象的引用赋值为null即可。
强制系统垃圾回收有两个方法:
调用System类的gc()静态方法:System.gc();
调用Runtime对象的gc()实例方法:Runtime.getRuntime().gc();
注意:这种强制仅仅只是建议系统垃圾回收,系统完全有可能并不立即进行垃圾回收,但垃圾回收机制也不会对程序的建议完全置之不理:垃圾回收机制会在收到通知后,尽快进行垃圾回收。
当垃圾回收机制回收某个对象所占用的内存之前,通常要求程序调用适当的方法来清理资源,在没有明确指定资源清理的情况下,JAVA提供了默认机制来清理该对象的资源,这个方法:finalize()。由于finalize()并不一定会被执行,不要在此方法中进行资源的清理。
// 强制执行finalize方法
System.runFinalization();
Runtime.getRuntime().runFinalization();
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。