我的Java应用程序通过运行进程"java -jar j.jar"来运行另一个Java应用程序。根据它所使用的数据集,J.jar已知会使用大量内存,并经常因OutOfMemoryError堆而导致崩溃。因此,我想在其上使用-Xmx,以便可以分配尽可能多的内存(或接近最大值)。我考虑获取系统上的总内存,然后在-Xmx中指定该内存的80-90%。
有什么解决方案可以解决我的问题吗?我的解决方案听起来如何?
编辑:我无法减少内存消耗,因为正在使用Java内置的pack200压缩进行压缩,我正在使用它来打包一些JAR文件。