java - JVM 最大堆大小参数在通过 C++ 实例化时不起作用

标签 java c++ jvm java-native-interface jvm-arguments

我正在通过 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/

相关文章:

java - 使用 DecimalFormat 获取不同数量的小数位

java - 计算器 Android 应用程序中的乘法在输出中抛出 Alphabeta

c++ - child 没有在 fork 中正确终止

java - 如何在运行时解决 jar 冲突?

java - Java线程数量随时间增长的原因

java - 下载结束后如何自动打开文件?

java - 从文件中读取最后一个字节并截断大小

NativeLibrary for Android 中的 C++11 支持

c++ - 指针变量在数组内使用float计算平均值C++

jvm - 在 mac "JAVA_HOME is not defined correctly"上构建 openjdk