这种做法有内存泄露的问题吗? 第二个记录集赋给rs时,stmt.executeQuery(sql2);已成为一个垃圾了,等待回收. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 java没有"内存泄露"这个说法,但有jvm崩溃的说法。:) 理论上不会,但在实际中本人在jdk1.3和oracle驱动class12.jar中出现rs记录集不够的情况。所有的都关闭后就好了。建议是,不要过于依赖垃圾回收,毕竟垃圾回收的线程运行的优先级是很低的,系统一繁忙后就来不及回收了。特别是做压力测试的时候,不进行rs.close是通不过测试的。 java是有 "内存泄漏" 的情况的,不过比较少 java中的内存泄漏和c/c++中的并不是一回事在c++中,内存泄漏意味者程序员忘记释放了分配的内存而在java中,内存的分配和释放完全由jvm来操控,因此不存在c++中遇到的问题。但是如果无用的对象太多,将会占用越来越多的内存,而此时gc还没有来得及回收它们,这就是java中的memory leak。你的程序中有内存泄漏。如 vgvg(成功靠自己) 所说。 我觉得还有一种情况,就是java程序中确实存在一些对象不能被GC回收例如:void function(){ Object o1 = new Object(); Object o2 = new Object(); o2 = o1; }o1所指的对象已经变成了垃圾,但是GC无法回收它,因为它的reference即o1仍然存在。如果缺少o1 = null这句话,就造成了内存泄漏。 不太明白,应该是O2原来所指的对象变成垃圾吧,即使加上O1=null,也无济于事吧. iforem(做官不为民作主,不如回家卖红薯) 的说法错的一塌糊涂!请原来我的直言不讳!退出了方法体 引用自然就不存在了,当然可以被回收!!照你的理解不知道要增加多少 obj=null这样的多余代码! 确实理解错误,谢谢阿根指出第一个问题,笔误。o2 = o1后,如果没有其他的reference,object2将会被回收第二个问题, 根根真是一针见血啊,方法结束后,o1和o2都消失了,所以object1 和object2都会被gc回收 但另外一种情况: function(Object c) { Object a = new Object(); a.xx(); a.yy(); ....... c.ref = a; }在程序中,多次调用这个方法,你说这个会不会引起内存泄漏?(假设c引用的对象仍然存在)这个需要a = null!第三,由第二可以归纳出,java中的内存泄漏就是程序中存在无用的reference Java 如何实现类似QQ的对话框 想用java写个socks服务器,请教大家 问个题外话,校内是通过什么手段判断照片是不是真人的? 算法高手请进...... 几个问题讨教? 关于动态生成控件的位置 怎么用InputStream读取字母数字和汉字的混合流? 请问如何获得JOptionPane的默认的系统图片(来者有分,在线,解决马上结帖) 为什么用IE显示不出来?是我的浏览器的问题么? 怎么用Class类的一个对象调用main方法 找不到类 初学JAVA写代码,请教一个很简单的问题!?
java中的内存泄漏和c/c++中的并不是一回事在c++中,内存泄漏意味者程序员忘记释放了分配的内存而在java中,内存的分配和释放完全由jvm来操控,因此不存在c++中遇到的问题。但是如果无用的对象太多,将会占用越来越多的内存,而此时gc还没有来得及回收它们,这就是java中的memory leak。
你的程序中有内存泄漏。如 vgvg(成功靠自己) 所说。
{
Object o1 = new Object();
Object o2 = new Object(); o2 = o1;
}o1所指的对象已经变成了垃圾,但是GC无法回收它,因为它的reference即o1仍然存在。如果缺少o1 = null这句话,就造成了内存泄漏。
的说法错的一塌糊涂!请原来我的直言不讳!
退出了方法体 引用自然就不存在了,当然可以被回收!!
照你的理解不知道要增加多少 obj=null这样的多余代码!
确实理解错误,谢谢阿根指出
第一个问题,笔误。o2 = o1后,如果没有其他的reference,object2将会被回收第二个问题,
根根真是一针见血啊,方法结束后,o1和o2都消失了,所以object1 和object2都会被gc回收 但另外一种情况:
function(Object c)
{
Object a = new Object();
a.xx();
a.yy();
....... c.ref = a; }在程序中,多次调用这个方法,你说这个会不会引起内存泄漏?(假设c引用的对象仍然存在)这个需要a = null!
第三,由第二可以归纳出,java中的内存泄漏就是程序中存在无用的reference