gpt4 book ai didi

java - FileChannel#map 的内存使用

转载 作者:搜寻专家 更新时间:2023-11-01 01:59:02 25 4
gpt4 key购买 nike

是否FileChannel#map立即分配生成的 ByteBuffer 所需的所有内存,还是仅在从缓冲区读取期间按需分配?

我刚刚尝试在一个简单的测试程序中映射一个 500+ MB 的文件,并查看该进程的内存使用情况。 (同时使用 Runtime#totalMemory 并在 OS X Activity 监视器中观察它以获取 groovysh 进程。)内存使用量从未超过 30 MB。

那么,Java 实现是否可以在 native 调用中“隐藏”它的一些内存使用情况?如果是这样,有没有办法找出在 OS X 上有多少?

最佳答案

内存使用从来都不是直截了当的。 FileChannel.map 使用的实际缓冲区不是 Java 堆的一部分。事实上,内存可能与其他进程共享。在触摸页面之前,甚至可能无法从光盘中读取文件。

关于java - FileChannel#map 的内存使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/839230/

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