我创建了一个类,它提供一个包含系统性能的文本文件作为输出。我想将它作为可执行Jar 运行。但是当我运行 Jar 时,我想将堆增加到 1 GB。
如果我们运行这个程序,我可以这样运行:
java -Xms1200m -Xmx1300m Sample
但是如何使用可执行的Jar 来增加堆空间呢?当我单击 jar 时,它必须以 1 GB 的堆空间执行。
我创建了一个类,它提供一个包含系统性能的文本文件作为输出。我想将它作为可执行Jar 运行。但是当我运行 Jar 时,我想将堆增加到 1 GB。
如果我们运行这个程序,我可以这样运行:
java -Xms1200m -Xmx1300m Sample
但是如何使用可执行的Jar 来增加堆空间呢?当我单击 jar 时,它必须以 1 GB 的堆空间执行。
如前所述:不幸的是,这是不可能的(不创建包装器,无论是快捷方式/脚本/可执行文件......)。
如果您只在 Windows 上运行,我可以推荐Launch4J创建一个可执行包装器,该包装器可以在执行时应用这些设置:
将其包装在可执行文件中还有其他好处:
<launch4jConfig>
<dontWrapJar>false</dontWrapJar>
<headerType>gui</headerType>
<jar>PATH_OF_YOUR_JAR</jar>
<outfile>PATH_OF_YOUR_EXE</outfile>
<errTitle></errTitle>
<cmdLine>-log_file=logs\\hp</cmdLine>
<chdir></chdir>
<priority>normal</priority>
<downloadUrl>http://java.com/download</downloadUrl>
<supportUrl></supportUrl>
<customProcName>true</customProcName>
<stayAlive>false</stayAlive>
<manifest></manifest>
<icon>PATH_OF_THE_ICON</icon>
<singleInstance>
<mutexName>APPLICATION_NAME</mutexName>
<windowTitle></windowTitle>
</singleInstance>
<jre>
<path>jre-w32\</path>
<minVersion></minVersion>
<maxVersion></maxVersion>
<jdkPreference>preferJre</jdkPreference>
<initialHeapSize>512</initialHeapSize>
<maxHeapSize>1024</maxHeapSize>
</jre>
</launch4jConfig>
它是一个launch4j 配置文件,在这里您可以根据需要指定堆大小。