我在实践中对直接映射缓冲区的了解是
直接缓冲区总是位于垃圾收集堆之外。
所以我想在运行时找出一些有趣的信息是有意义的,也是可能的。具体来说,如何获取缓冲区的起始虚拟地址、缓冲区的初始物理地址和缓冲区大小?我正在使用ubuntu,对虚拟->物理翻译部分也很好奇。有什么工具可以做到这一点吗?
您知道缓冲区大小是因为您创建了它。
您可以通过JNI获取虚拟地址。
没有办法获得物理地址,如果可以的话,你也不能用它做任何有用的事情。