黑马程序员技术交流社区

标题: 如何增加java堆空间 [打印本页]

作者: 肖发腾    时间: 2012-3-26 11:29
标题: 如何增加java堆空间
java堆有默认的空间大小,那么如何增加java堆空间呢?
作者: 朱鹏举    时间: 2012-3-26 11:51
你可以用-Xms and -Xmx这两个参数来改变堆内存的大小。Xms表示起始的堆内存大小,Xmx表示最大的堆内存的大小。大多数32位机上默认堆空间128mb,你需要更大的话,就自己设定。
作者: 龚振 龚振 龚振    时间: 2012-3-26 11:57
我也不是很懂~,百度有云如下供参考:
在大多数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-26 12:01
朱鹏举 发表于 2012-3-26 11:51
你可以用-Xms and -Xmx这两个参数来改变堆内存的大小。Xms表示起始的堆内存大小,Xmx表示最大的堆内存的大 ...

对大小改变了除了存储空间改变了,还有什么能感觉出来的效果呢?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2