这种情况下数据库连接能不能被自动垃圾回收? conn可以被回收但是,socket连接就没法释放了,这是最关键的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 只要还存在对连接对象的引用,就不会被垃圾回收。垃圾回收的标准是回收没有被引用的对象,而不以作用范围来衡量,这和C++里的局部对象不同。即使在C++里,new 一个局部对象,当它超出作用范围时,也不会被自动析构,需要人工 delete。另外,JVM的垃圾回收只能回收对象所占用的内存,不能自动回收对象所占用的资源,这是JVM垃圾回收的一个缺陷 :-( 应该不能的,jvm垃圾回收机制只能回收由jvm本身分配的内存 还有,Jvm并不会优先回收某些珍稀资源(例如数据锁),而且也不能人工指定回收资源的优先级别 看来是必须用connection.close();来关闭才行!即使是中途抛出例外,也得在适当得地方关闭连接才行! 如果不管,什么情况下,它能自动被关闭?比如一个普通的application类,中间建立了一个连接,main方法运行完了,这时连接应该是自动关了吧!jsp,session bean中的连接是么时候能自动关闭? 加上: finally { if (conn != null) { try { conn.close (); System.out.println ("Database connection terminated"); } catch (Exception e) { /* ignore close errors */ } } }用finally来释放。 有时返回值是ResultSet对象,不能在函数里关闭Connection对象! java引入Android NinePatch技术的意义 小弟建立了个QQ问问团队。大家加入吧。一起讨论学习 java 程序中加入时间 那位高手帮我把数组中的不同的元素来找出来,谢谢 请教一个关于args[]的问题 Applet的MessageBox问题~~~~急急急急急急~~~ 在Web开发中,有什么好的方法配置一些参数? java问题: 请问如何实现打印分页? Java中数组的问题 think in java上说的“名字隐藏”是什么意思? 请问哪里有java3D下载啊,国内的网站有没有???
即使是中途抛出例外,也得在适当得地方关闭连接才行!
比如一个普通的application类,中间建立了一个连接,main方法运行完了,这时连接应该是自动关了吧!
jsp,session bean中的连接是么时候能自动关闭?
finally
{
if (conn != null)
{
try
{
conn.close ();
System.out.println ("Database connection terminated");
}
catch (Exception e) { /* ignore close errors */ }
}
}
用finally来释放。