美文网首页
流操作为什么要显示的调用close()

流操作为什么要显示的调用close()

作者: jwyh | 来源:发表于2019-11-03 21:54 被阅读0次

1、需要自己close的东西,一般都是用了虚拟机之外的资源,例如端口,显存,文件等,虚拟机无法通过垃圾回收释放这些资源,只能你显式调用close方法来释放。

许多情况下,如果在一些比较频繁的操作中,不对流进行关闭,很容易出现输入输出流经超越了JVM的边界,所以有时可能无法回收资源。

所以流操作的时候凡是跨出虚拟机边界的资源都要求程序员自己关闭,不要指望垃圾回收。

你读一个文件,忘记关闭了流,你在操作系统里对这个文件的写,删除等操作就会报错,告诉你这个文件被某个进程占用

转自:https://blog.csdn.net/injurooioo/article/details/73551444

相关文章

  • 流操作为什么要显示的调用close()

    1、需要自己close的东西,一般都是用了虚拟机之外的资源,例如端口,显存,文件等,虚拟机无法通过垃圾回收释放这些...

  • Question List

    1.VC++中ADO操作(基础语法) 注意:调用close()时用到->,而调用方法Release()时用到. 为...

  • 3-Python文件操作总结

    文件操作 文件读取 r表示读。 引入with语句来自动帮我们调用close()方法: 文件写入

  • Java IO包装流如何关

    问题: (1)JAVA的IO流使用了装饰模式,关闭最外面的流的时候会自动调用被包装的流的close()方吗? (2...

  • Python 中 open 和 with open 的区别

    open语法 with open语法 1)使用open方法,文件操作完毕后需要手动调用close()方法关闭文件。...

  • 关于spark往elasticsearch等外部源输出的问题

    一, 对于spark流的操作1, spark流是由很多rdd组成的, 所以要调用foreachRDD2, spar...

  • Java基础IO流相关

    递归调用内存溢出图 I/O流示意图 输入流中flush方法和close方法的区别 flush:刷新缓冲区,流对象可...

  • bio实现

    在close系统调用时,当一个文件的最后一个owner在执行该操作时,会执行unlink,从而陷入阻塞. 而调用f...

  • WinForm中Dispose()和Close()的区别

    WinForm中Dispose()和Close()的区别 Close()会自动调用Dispose()方法,但是如果...

  • FFmpeg结构体:URLProtocol

    1.描述 URLProtocol是FFmepg操作文件的结构(包括文件,网络数据流等等),包括open、close...

网友评论

      本文标题:流操作为什么要显示的调用close()

      本文链接:https://www.haomeiwen.com/subject/xxwlbctx.html