gpt4 book ai didi

java - byte[] Files.readAllBytes() 和 FileChannels.map (ByteBuffer/MappedByteBuffer) 之间的区别

转载 作者:太空宇宙 更新时间:2023-11-04 06:11:17 25 4
gpt4 key购买 nike

我看到了有关分配的各种基准测试和直接/非直接字节缓冲区解释,但我没有找到关于在这些方法上使用内存上的字节时的差异的简单解释。

有人可以透露一些信息吗?说出他们的不同之处应该不难。

谢谢!

最佳答案

readAllBytes 将文件的全部内容复制到新的堆上字节数组中,而将文件映射到 ByteBuffer 允许访问文件的字节,而无需将其全部加载到内存中。您应该期望从映射的字节缓冲区访问字节会产生一些性能开销,但另一方面,您可以映射不适合 RAM 的大文件。

关于java - byte[] Files.readAllBytes() 和 FileChannels.map (ByteBuffer/MappedByteBuffer) 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28685609/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com