java流为什么释放

Python018

java流为什么释放,第1张

1、文件流要释放

2、数据库连接资源要释放

3、在结合使用hibernate时,session要释放

在使用的时候,java的垃圾回收一般不用手动释放,但是可以调用方法进行调用以实现垃圾回收,在某种特定情况下会使用到因为java虚拟机无权直接访问硬盘,需要通过操作系统访问,在结束后需要通知释放资源

在Java中对资源的读写最后要进行close操作,以下是2种释放资源处理方式:

第1种:把close()放在try中。

try {

PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter(

"out.txt", true)))

pw.println("This is a test.")

pw.close()

} catch (IOException e) {

e.printStackTrace()

第3种:使用try-with-resource语句

try (PrintWriter pw = new PrintWriter(

new BufferedWriter(

new FileWriter("out.txt", true)))) {

pw.println("This is a test.")

} catch (IOException e) {

e.printStackTrace()

无论是否有异常发生close()方法都应该被调用,因此close()应放在finally中。而从Java 7开始,可以使用try-with-resource语句。