异步请求相关知识点flush()缓冲区强制写出

Posted xuzhuaaron1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了异步请求相关知识点flush()缓冲区强制写出相关的知识,希望对你有一定的参考价值。

// 取得输出流。当然,看具体环境。
PrintWriter out = Util.getWriter();
out.println("输出一些信息,可能很多");
out.flush();
out.close();
------------------------------------------

flush()意思是把缓冲区的内容强制的写出。 因为操作系统的某些机制,为了防止一直不停地磁盘读写,所以有了延迟写入的概念, 主要用在IO中,即清空缓冲区数据,一般在读写流(stream)的时候,数据是先被读到了内存中,再把数据写到文件中,当你数据读完的时候不代表你的数据已经写完了,因为还有一部分有可能会留在内存这个缓冲区中。这时候如果你调用了close()方法关闭了读写流,那么这部分数据就会丢失,所以应该在关闭读写流之前先flush()。。   在网络web服务器上也是,为了防止写一个字节就发送一个消息,所以有缓冲区的概念,比如64K的内存区域,缓冲区写满了再一次性写入磁盘之中(或者发送给客户端浏览器)。 flush方法一般是程序写入完成时执行。随后跟着close方法。

以上是关于异步请求相关知识点flush()缓冲区强制写出的主要内容,如果未能解决你的问题,请参考以下文章

java小知识点8

Java 流中 flush() 的目的是啥?

Java 输出流中的flush方法

文件相关函数

sys.stdout.flush() 方法的使用

PHP 缓冲区 ob_flush() 与 flush()