首页 新闻 赞助 找找看

JDBC疑问

0
悬赏园豆:10 [待解决问题]

最近在看一个公司的项目时看到这么一段代码

conn.close();

conn=null;

这段代码有什么好处,求指导。

西红柿鸡蛋面的主页 西红柿鸡蛋面 | 初学一级 | 园豆:181
提问于:2016-09-07 22:01
< >
分享
所有回答(6)
0

大哥 这个如果是关闭之前,清空,我觉得是可以有的 但是关闭之后再清空?我好像没见过哈?

 

面具下孤傲的心 | 园豆:202 (菜鸟二级) | 2016-09-08 00:05
1

conn=null; 这种写法看场景,目的是明确告诉GC,这个变量可以回收了

2012 | 园豆:21228 (高人七级) | 2016-09-08 08:23
0

没什么好处。。。

顾晓北 | 园豆:10844 (专家六级) | 2016-09-08 09:13
0

java/.net下这种代码没任何意义。

Daniel Cai | 园豆:10424 (专家六级) | 2016-09-08 10:32
0

这种写法的根本在于程序员对conn.close()方法的不信任。就是说如果close方法有任何bug的话(不抛异常,但又确实没释放资源)。强制jvm回收conn资源,即内存指向null。

PS:包括JDK都是人写的。

CaiYongji | 园豆:1267 (小虾三级) | 2016-09-08 11:38

这句话写不写最终效果是一样的,如果close方法内部有问题,这句赋值还是不会回收的。

 

支持(0) 反对(0) Daniel Cai | 园豆:10424 (专家六级) | 2016-09-09 11:50
0

conn.close();都close了,再赋值为null,感觉没意义。。。

雨點儿飞 | 园豆:237 (菜鸟二级) | 2016-09-22 13:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册