为了账号安全,请及时绑定邮箱和手机立即绑定

out.flush为什么不再输出一次前两句诗词

out.flush为什么不再输出一次前两句诗词

正在回答

5 回答

很简单啊,因为flush是把缓冲区的内容输出到客户端,你看见的页面只是一个包装后的响应页面,又不是客户端。第二嘛,缓冲区中存放的不是那两句唐诗的中文形式,为啥要打印2 次。。

0 回复 有任何疑惑可以回复我~

可以这样理解,程序运行时准备将整首唐诗都放到缓冲区再执行打印,但缓冲到第三行时,程序强行要求打印缓冲区的内容,此时将前两句打印到浏览器,然后清空缓冲区,之后继续将后两句放到缓冲区,全放进去之后,开始执行打印

2 回复 有任何疑惑可以回复我~
#1

慕运维1496777

为什么不是存入缓冲区一句打印一句,如果按你的说法,那么当不存在 flush语句的时候 程序什么时候打印的 ,程序又不知道我什么时候输完了整首诗,难道在程序执行完毕之后?
2018-06-27 回复 有任何疑惑可以回复我~
#2

sqsq 回复 慕运维1496777

存入缓冲区一句打印一句相当于从锅里挖一小勺米饭到碗里然后吃掉,再挖一小勺米饭到碗里吃掉。那你要碗有啥用?直接对着锅吃不完事了。碗的意义不就是存一部分米饭先让你吃吗? 就是缓冲区的意义
2018-07-31 回复 有任何疑惑可以回复我~

请问是不是每次out.println一次,就会把输出内容放进缓存区。

另外,是不是缓存区中的内容,可以用flush输出,而不用out.println


0 回复 有任何疑惑可以回复我~

flush是将缓冲区内容强制打印,打印完后清空缓冲区,不是复制。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

out.flush为什么不再输出一次前两句诗词

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信