ByteArrayInputStream和ByteArrayOutputStream不需要关闭流的原理--博客摘录
2024-09-08 17:30:24
————————————————
版权声明:本文为CSDN博主「PSUUGDUFNM」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u012668925/article/details/53941471
ByteArrayOutputStream或ByteArrayInputStream是内存读写流,不同于指向硬盘的流,它内部是使用字节数组读内存的,这个字节数组是它的成员变量,当这个数组不再使用变成垃圾的时候,Java的垃圾回收机制会将它回收。所以不需要关流。如下图所示,ByteArrayOutputStream内部是数组:
这里写图片描述
然后再看看FileOutputStream的构造:
这里写图片描述
很明显FileOutputStream的构造方法打开了IoBridge,
也就是说,指向内存的流可以不用关闭,指向存储卡/硬盘的流一定要关闭
最新文章
- php函数获取真实客户端IP地址
- c#修改config中的AppSettings属性
- 理解ros服务和参数 ---- 7
- NENU_CS_segment_tree
- spring中配置jndi数据源
- android jni (5)——Field &; Method -->; Accessing Mehtod
- MessageDigest简单介绍
- c++,给常成员变量赋值
- DOM(二) 判断节点包含关系
- S3 Browser 配置指南
- bzoj3168 钙铁锌硒维生素 (矩阵求逆+二分图最小字典序匹配)
- zookeeper分布式服务中选主的应用
- layui xtree 实现一级节点单选 ,子节点复选
- json、数组、html标签的修改删除
- jmeter之ip欺骗
- java web项目在linux部署、启动,查看系统配置常用的linux命令总结
- JS快速构建数组方法
- C#中NPOI操作excel之读取和写入excel数据
- ORACLE EBS xml publisher 报表输出字符字段前部";0";被EXCEL自动去掉问题
- Codeforces Round #297 (Div. 2)C. Ilya and Sticks 贪心