社区
Java SE
帖子详情
缓冲区和流之间是什么样的关系啊?请高手进来总结一下io的整个过程,我分不多,不好意思!
qlampskyface
2003-11-20 01:27:09
建立输出流,write,流进入缓冲区,另一端读取流(read),冲洗(flush)缓冲区,然后再进行下一次的循环。完成以后关闭流。是这个样子吗?
不过为什么缓冲区还要有最小进入字节数的限制呢?达不到这个数目或者不进行flush,就写不进缓冲区去,写不进的话另一端就读不到。
我说得对吗?
...全文
32
5
打赏
收藏
微信扫一扫
点击复制链接
分享
下载分享明细
分享
举报
写回复
5 条
回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Shrewdcat
2003-11-21
楼上的意思,就是缓冲区大小确定后,只有数据添满,才会提交出去。在未满前,可以用flush函数强制缓冲区数据提交。
这样做靠牺牲内存空间,或者带宽的高效率。
缓冲区空间可以自己指定,系统也有缺省值,在用户未指定时。
JB9 help文件有一句: The buffer size may be specified, or the default size may be used. The default is large enough for most purposes.
打赏
举报
回复
赞
xiaozuidazhi
2003-11-21
是这样,我在一篇文章里看到这么一段,我看不懂,请帮忙解释一下。
比如,假设已经写入了一个300字节的请求给一个服务器,通常希望在发送更多数据之间等待响应。但是,如果输出流有一个1024字节的缓冲区,则该流可能在数据发送出缓冲区之前正在等待更多的数据到达,但是这些数据是不会到达的,因为他们还没有发送出去!缓冲流不会发送数据给服务器,除非它从地层流获得了更多的数据,但是底层流是不会发送更多的数据,除非它从服务器获得了数据,而服务器不发送数据,除非它获得保存在缓冲中的数据!这就是矛盾!flush()方法可以解除这个僵局,因为即使缓冲区没满,它也强制要求实行缓冲操作的流传送数据!
打赏
举报
回复
赞
路人丁
2003-11-20
你想干什么?你要干什么?
打赏
举报
回复
赞
littlecong
2003-11-20
设缓冲区是为了提高效率,通常只须在最后关闭前flush就可以了
不过为什么缓冲区还要有最小进入字节数的限制呢
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
我不明白你是什么意思,好像没有这个限制
打赏
举报
回复
赞
qlampskyface
2003-11-20
怎么没有人回答呢?嫌我给的分少吗?我不是故意的啊。
打赏
举报
回复
赞
相关推荐
栋的月结 | 第一回合(定期更新、动态、架构、云技术、算法、后端、前端、收听/收看、英文、书籍、影视、好歌、新奇)[含泪
总结
.. 憋泪分享!]
以下是我在 2020 年 1 月 1 日至 31 日的所见、所闻、所学
和
所悟。 现在,我把它们安利给你们。 定期更新 原创专栏: 栋的周评 一文搞定 Linux 管理员手册:既简单又深刻 官方授权: Baeldung Java 周评...
编程资料 -C#
多
线程
编程资料 -
多
线程 C#
多
线程编程实例实战 作者: ...本文通过对常见的单个写入/
多
个阅读程序的分析来探索c# 的
多
线程编程。 问题的提出 所谓单个写入程序/
多
个阅读程序的线程同步问
java基础002
试卷一2013年年底的时候,我看到了网上
流
传的一个叫做《Java面试题大全》的东西,认真的阅读了以后发现里面的很
多
题目是重复且没有价值的题目,还有
不
少的参考答案也是错误的,于是我花了半个月时间对这个所谓的...
无线充电小车的PCB,共有三个版本,免费免费
无线充电小车的PCB,共有三个版本,亲测可用,可以直接发给商家打样
发帖
Java SE
微信扫一扫
点击复制链接
分享社区
下载分享明细
6.2w+
社区成员
30.7w+
社区内容
Java 2 Standard Edition
社区管理员
加入社区
帖子事件
创建了帖子
2003-11-20 01:27
社区公告
暂无公告