我试图了解使用 16k 缓冲区连续调用 FileChannel.write 和映射多个附加大小为 16k 的 ByteBuffer 之间的区别,如下所述:https ://stackoverflow.com/a/7367952/962872
我认为映射的字节缓冲区方法会在每次追加后丢弃 MappedByteBuffers 时产生大量垃圾。而且我也不确定它是否更快。而且你仍然需要做一堆映射操作......(每个附加一个)。
或者您应该映射一个巨大的 ByteBuffer(尽可能大)并继续写入这个 MappedByteBuffer?
我正在使用带有 Java 端 16kb 缓冲区的 FileChannel.write 方法作为写入文件的“快速”方式,但我想确保我不会丢失更快/更好的东西。
任何人都可以发光吗?