首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >java x堆大小问题

java x堆大小问题
EN

Stack Overflow用户
提问于 2011-08-10 02:59:56
回答 1查看 933关注 0票数 0

我一直在观察os x上的JVM堆大小,包括eclipse和intellij中的JVM堆大小,以及直接通过命令行运行应用程序,我看到了一种奇怪的行为,我希望有人能解释。

如果我将jvm堆大小设置为较大的jvm堆大小(例如超过1gb),则

  1. ,然后运行一个hello应用程序来执行

System.out.println(Runtime.getRuntime().maxMemory());

我看到它的最大内存为129957888 (128 max )。

如果在intellij中运行相同的实验,

  1. 会得到相同的结果,但是底部角落的堆大小指示符表示,我只能使用2gb中的100 2gb。
  2. --如果我只是运行java测试-Xmx1024mb,那么它就会告诉我,我有正确的最大内存。(8倍)

我已经在10.6和10.7上尝试了这一点,我也看到了同样的情况,所以我想知道IDE没有像我希望的那样消耗那么大的堆大小。当我的机器上坐着一堆没有用的内存时,我发现这是很可笑的。

感谢任何人能提供的任何帮助。

EN

回答 1

Stack Overflow用户

发布于 2011-08-29 22:41:34

听起来,您是在为IDE的JVM设置堆大小,而不是为IDE为运行程序而启动的JVM设置堆大小。如果IDE在运行代码的JVM中运行代码,这将是危险的。

在Eclipse中,运行程序时使用的默认堆大小为128 MB。您可以通过运行或调试配置来覆盖此配置。

右键单击Configurations...

  • Click类和您想要运行的
  1. Select作为->运行的
  2. 选项卡上的VM参数部分,输入-Xmx256m
  3. 单击Run

G 211

上述设置将JVM使用的最大堆大小设置为256 MB。

测试类的输出现在应该是265093120。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7005399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档