首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

java对象调用close()步骤与赋值为null的却别

2011-12-08 
java对象调用close()方法与赋值为null的却别?java有好多对象具有close()方法,如数据库连接,I/O流调用close

java对象调用close()方法与赋值为null的却别?
java有好多对象具有close()方法,如数据库连接,I/O流

调用close()方法与赋值为null对象发生了什么变化?

如果要及时释放对象占用的内存该如何操作?



[解决办法]
close()可以释放资源。null只是空对象
[解决办法]
释放对象占用的内存是gc来决定的,它想什么时候释放就什么时候释放。
[解决办法]
数据库连接和IO中的close()方法仅是关闭了与数据库和文件建立起来的连接,并不是清空对象,如果不close()直接null可能导致,数据未完全写入数据库或文件中。
要及时释放对象,就close()掉吧,再由JVM进行处理吧,据说让其为null,也并不会释放内存的,还是需要JVM进行垃圾处理的。
如果要显示进行垃圾回收可以试试:System.gc(); 但是这样做会降低效率的。

热点排行