我一直在观察os x上的JVM堆大小,包括eclipse和intellij中的JVM堆大小,以及直接通过命令行运行应用程序,我看到了一种奇怪的行为,我希望有人能解释。
如果我将jvm堆大小设置为较大的jvm堆大小(例如超过1gb),则
System.out.println(Runtime.getRuntime().maxMemory());
我看到它的最大内存为129957888 (128 max )。
如果在intellij中运行相同的实验,
我已经在10.6和10.7上尝试了这一点,我也看到了同样的情况,所以我想知道IDE没有像我希望的那样消耗那么大的堆大小。当我的机器上坐着一堆没有用的内存时,我发现这是很可笑的。
感谢任何人能提供的任何帮助。
发布于 2011-08-29 22:41:34
听起来,您是在为IDE的JVM设置堆大小,而不是为IDE为运行程序而启动的JVM设置堆大小。如果IDE在运行代码的JVM中运行代码,这将是危险的。
在Eclipse中,运行程序时使用的默认堆大小为128 MB。您可以通过运行或调试配置来覆盖此配置。
右键单击Configurations...
G 211
上述设置将JVM使用的最大堆大小设置为256 MB。
测试类的输出现在应该是265093120。
https://stackoverflow.com/questions/7005399
复制相似问题