我有一个NetBeans框架(v7.2)应用程序,它在启动时需要相当大的内存。我以通常的方式在配置文件中配置了配置文件的相关块,如下所示:
# options used by the launcher by default, can be overridden by explicit
# command line switches
# default_options=-J-Xms512m -J-Xmx1024m
default_options=--branding myapp -J-Xms1G -J-Xmx3G
# for development purposes you may wish to append: -J-Dnetbeans.logger.console=true -J-ea
# default location of JDK/JRE, can be overridden by using --jdkhome <dir> switch
#jdkhome="/path/to/jdk"
这个应用程序在我的开发机器上运行良好,但是当我尝试在没有安装JDK的另一台机器上运行它(只有JRE)时,我收到一条消息“JVM创建失败”。我通过反复试验发现,我可以通过以下两种方式之一解决此错误:通过降低内存要求(我发现-J-Xms512m -J-Xmx1024m
有效),或者通过显式设置{的值配置文件中的{1}}指向JRE的位置。由于我需要RAM,因此无法很好地降低内存需求。所以我认为我坚持使用第二种解决方案,但这对我来说毫无意义。任何人都可以解释为什么在启动时请求“大量”内存需要明确设置jdkhome
,但是少量内存似乎没有这个要求?