关于java的flush
发布日期:2021-10-16 10:03:49
浏览次数:2
分类:技术文章
本文共 488 字,大约阅读时间需要 1 分钟。
java中在write()方法后尽量手动调用flush()方法,原因呢:
这里首先应该对I/O对计算机体系结构要有一个简单的了解,计算机分为运算器、控制器、存储器、输入/输出。cpu由运算器、控制器和寄存器等等组成。存储器分为内存和外存,这里简单说一下I/O。 I/O主要是对外存的读/写,而cpu的速度远远大于I/O,此时就有很多策略解决,这时将数据加入缓冲区是一个高效的方法,这样减少了cpu的I/O次数,提高运行效率,但是read()和write()是线程阻塞的,当某个线程向另一网络节点读写数据时,当发生网络连接异常或服务器短暂无响应,这会发生线程阻塞,同样在无数据进行读取或者数据已满进行写操作时,同样会发生阻塞,这是其他线程抢占资源,缓冲区的数据不能及时输送需要等到竞争到cpu时间才可以发送,还有一种策略是当缓冲区长度满了以后才会将缓冲区发送,这样,若到了文件末尾往往会因为缓冲未满导致数据未发送,此时在write()后手动调用flush(),这样手动强制将数据发送,不会有数据滞留在缓冲区中,这种事情会经常发生,应该注意再次特做笔记。这里就有之前碰到的例子:
转载地址:https://blog.csdn.net/small__snail__5/article/details/88547329 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2024年04月05日 02时56分20秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
JavaScript的DOM操作
2019-04-26
JavaScript的事件响应与网页交互
2019-04-26
JavaScript实现的网页计算器功能
2019-04-26
英语四六级考试忘记准考证?怎么办?
2019-04-26
JavaScript内置对象
2019-04-26
JavaScript的游览器对象
2019-04-26
DOM对象,控制HTML对象
2019-04-26
制作一个表格,显示班级的学生信息
2019-04-26
JavaScript的选项卡操作
2019-04-26
Linux常用命令及文件处理命令
2019-04-26
Linux常见目录及作用
2019-04-26
文件链接命令
2019-04-26
Oracle篇--05 Oracle 视图、序列、约束
2019-04-26
【Java面试题四】sql面试题(1)
2019-04-26
【Java面试题五】sql面试题(2)
2019-04-26
【Java面试题六】多线程篇
2019-04-26
【Java面试题七】Java泛型篇
2019-04-26
【Java面试题八】Java算法优化篇
2019-04-26
JDBC与DAO篇--01 JDBC原理、JDBC基础编程
2019-04-26
【Java面试题九】算法篇
2019-04-26