9
其他地方的BufferedWriter
中的默认缓冲区大小为8k。为什么使用8k?较大的缓冲区大小是否会提高性能?为什么默认缓冲区大小在Java IO中为8k?
其他地方的BufferedWriter
中的默认缓冲区大小为8k。为什么使用8k?较大的缓冲区大小是否会提高性能?为什么默认缓冲区大小在Java IO中为8k?
缓冲区减少了写入系统调用的次数,从而优化了输出。根据程序的活动,更大的写入缓冲区可能会提高性能,最好使用更大的缓冲区进行测试,其工作负载与您的程序所做的工作量相当。另外,当底层文件系统的高速缓存是直写式(无写高速缓存)时,缓冲区的重要性更高,因为无论如何,写后高速缓存将延迟/分组物理写操作。
我认为8k的历史原因与磁盘上的传统分配大小有关,通常是2k或其倍数。