0
|
Vishnu Viswambharan · 技术社区 · 6 年前 |
1
1
在处理流时,您经常读取块中的字节。 如果逐个读取/写入字节,则每个字节都会有大量开销(例如初始化数组以存储字节、将字节放入流、记住文件中的当前位置等等)。 因此,如果您读取一组字节,则仍会有这些开销,但开销较小(例如,如果您有4000个字节,则开销为4000x。但如果您每次读取100个字节,则开销仅为4000/100=40x) 通常选择块的长度来平衡读/写块的时间和块的大小。 它通常设置为2k或4k。可能与磁盘扇区有关(512字节,2048字节…) |
2
0
这里4096是缓冲区大小。因此,每当循环进行时,首先读取4096字节,然后再进入循环。 |