java.nio.MappedByteBuffer虚拟/物理地址



我在实践中对直接映射缓冲区的了解是

直接缓冲区总是位于垃圾收集堆之外。

所以我想在运行时找出一些有趣的信息是有意义的,也是可能的。具体来说,如何获取缓冲区的起始虚拟地址、缓冲区的初始物理地址和缓冲区大小?我正在使用ubuntu,对虚拟->物理翻译部分也很好奇。有什么工具可以做到这一点吗?

您知道缓冲区大小是因为您创建了它。

您可以通过JNI获取虚拟地址。

没有办法获得物理地址,如果可以的话,你也不能用它做任何有用的事情。

最新更新