【问题标题】:Why default buffer size is 8k in Java IO?为什么 Java IO 中的默认缓冲区大小为 8k?
【发布时间】:2011-08-14 10:48:02
【问题描述】:

BufferedWriter 的默认缓冲区大小为 8k。为什么要使用 8k?更大的缓冲区大小会提高性能吗?

【问题讨论】:

    标签: performance buffer bufferedwriter


    【解决方案1】:

    缓冲区减少了写入系统调用的次数,从而优化了输出。根据您的程序的活动,更大的写入缓冲区可能会提高性能,最好使用更大的缓冲区进行测试,其工作负载与您的程序所做的相当。此外,当底层文件系统的缓存是直写(无写缓存)时,缓冲区的重要性更高,因为无论如何,后写缓存都会延迟/分组物理写操作。

    我认为 8k 的历史原因与磁盘上的传统分配大小有关,通常是 2k 或其倍数。

    【讨论】:

      猜你喜欢
      • 2016-09-21
      • 1970-01-01
      • 2013-06-03
      • 1970-01-01
      • 1970-01-01
      • 2012-05-08
      • 1970-01-01
      • 1970-01-01
      • 2013-08-14
      相关资源
      最近更新 更多