我正在通过 C++ 创建 JVM 实例。我在实例化时传递了几个 VM 参数。但是至少最大堆大小的参数之一没有显示出任何差异。无论我为它提供什么参数,最大堆大小总是显示 65 536kB。
代码如下所示。
jvm=NULL;
env=NULL;
long result;
char *pathname=(char*)malloc(1024);
strcpy(pathname,"-Djava.class.path=");
strcat(pathname,"/*class path*/");
vm_args.version= 0x00010006;
vm_args.ignoreUnrecognized=JNI_TRUE;
options[0].optionString=pathname;
options[1].optionString="-Xms512M";
options[2].optionString="-Xmx1024M";
vm_args.options=options;
vm_args.nOptions=3;
任何建议。提前致谢。
最佳答案
不确定这是否重要,但在我的代码中,我在末尾使用了小写的“m”:
-Xmx1024m
代替
-Xmx1024M
这是您的代码与我们使用的代码之间最明显的区别...
关于java - JVM 最大堆大小参数在通过 C++ 实例化时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11433408/