jvm JNI代码和运行时.getRuntime().totalMemory()

oxf4rvwz  于 2022-11-07  发布在  其他
关注(0)|答案(1)|浏览(165)

Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory()是否也包含JNI代码分配的内存,还是只包含Java对象分配的内存?此外,C++代码是否也必须适合分配给JVM的内存,还是独立于JVM?

zy1mlcev

zy1mlcev1#

Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory():内存包括JVM的所有对象和一些JNI对象的分配。
在Java运行时数据区域中,存在对堆中的C++对象或Java对象的本机方法引用。
所有对象都在堆上分配。

相关问题