黑马程序员技术交流社区
标题:
java中怎么知道堆内存有多大呢
[打印本页]
作者:
花开~的季节
时间:
2012-3-5 11:22
标题:
java中怎么知道堆内存有多大呢
java中怎么知道堆内存有多大呢
作者:
胡元
时间:
2012-3-5 11:34
堆内存是存储数组的,堆内存是根据数组的长度开辟的。一般就是数组的长度
作者:
黄方
时间:
2012-3-5 13:06
额,是这样的:
在大多数32位机、Sun的JVM上,Java的堆空间默认的大小为128MB,但也有例外,
例如在32未Solaris操作系统(SPARC平台版本)上,默认的最大堆空间和起始堆空间大小为 -Xms=3670K 和 -Xmx=64M。对于64位操作系统,一般堆空间大小增加约30%。但你使用Java 1.5的throughput垃圾回收器,默认最大的堆大小为物理内存的四分之一,而起始堆大小为物理内存的十六分之一。要想知道默认的堆大小
的方法,可以用默认的设置参数打开一个程序,使用JConsole(JDK 1.5之后都支持)来查看,在VM Summary页面可以看到最大的堆大小。
用这种方法你可以根据你的程序的需要来改变堆内存大小,我强烈建议采用这种方法而不是默认值。如果你的程序很大,有很多对象需要被创建的话,你可以用-Xms and -Xmx这两个参数来改变堆内存的大小。Xms表示起始的堆内存大小,Xmx表示最大的堆内存的大小。另外有一个参数 -Xmn,它表示new generation(后面会提到)的大小。有一件事你需要注意,你不能任意改变堆内存的大小,你只能在启动JVM时设定它。
作者:
强文何
时间:
2012-3-5 14:08
嗯 还可以存储new出来的对象
我记得java sdk里有个gui的控制台可以查看heap memory的大小。
在win下,以命令行批处理文件直接启动java程序时,可以修改参数实现改变分配给java虚拟机内存的大小。
不知道对你有没有帮助
作者:
王利强
时间:
2012-3-5 14:41
堆内存大小看你定义多少数组,一些没有用的数据会在一段时间内自动释放
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2