javajni:内存分配/分区 使用JNI时,JNI二进制文件是使用自己的内存,还是使用分配给JVM的部分内存? 细节

javajni:内存分配/分区 使用JNI时,JNI二进制文件是使用自己的内存,还是使用分配给JVM的部分内存? 细节,java,memory,jvm,java-native-interface,Java,Memory,Jvm,Java Native Interface,当您指定-Xmx1024m作为JVM选项时,JVM是否将所有1024MB内存分配给Java对象? 它是将其中的一部分用于Java对象,而将其中的一部分用于JNI二进制文件,还是JNI二进制文件除此之外还必须使用内存?在这种情况下,JVM如何分配/分区/管理内存使用 相关问题: 当我们在一些JNI代码中发现内存泄漏时,我第一手发现,JNI二进制文件在JVM进程中使用自己的内存,而不是任何JVM堆空间。我们看到Linux实际上杀死了JVM,因为JVM作为一个整体超过了3GB的虚拟内存。但是我们使用

当您指定
-Xmx1024m
作为JVM选项时,JVM是否将所有1024MB内存分配给Java对象?
它是将其中的一部分用于Java对象,而将其中的一部分用于JNI二进制文件,还是JNI二进制文件除此之外还必须使用内存?在这种情况下,JVM如何分配/分区/管理内存使用


相关问题:

当我们在一些JNI代码中发现内存泄漏时,我第一手发现,JNI二进制文件在JVM进程中使用自己的内存,而不是任何JVM堆空间。我们看到Linux实际上杀死了JVM,因为JVM作为一个整体超过了3GB的虚拟内存。但是我们使用的是
-Xmx384m
,在Java对象方面只使用了大约40MB,这几乎证明了JNI在JVM堆空间之外使用内存