设置虚拟机内存大小,以增加动态数组List的最大容量

List类似于动态数组,使用的时候不必考虑是否溢出, 可以一直动态增加的。那到底有没有个最大容量呢?有!当然List本身并没有属性或方法来说明最大容量。其最大容量与JAVA虚拟机内存大小有关,如果数组里的数据太多,会造成内存溢出。
我以我的机器测试下,当List里存放871056时,就抛出以下异常。

略....
871052
871053
871054
871055
871056
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
 at java.nio.CharBuffer.wrap(CharBuffer.java:350)
 at sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:246)
 at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:106)
 at java.io.OutputStreamWriter.write(OutputStreamWriter.java:190)
 at java.io.BufferedWriter.flushBuffer(BufferedWriter.java:111)
 at java.io.PrintStream.write(PrintStream.java:476)
 at java.io.PrintStream.print(PrintStream.java:561)
 at java.io.PrintStream.println(PrintStream.java:700)
 at SelectMain.selectRedMinMaxSum(SelectMain.java:85)
 at SelectMain.selectRedBall(SelectMain.java:53)
 at SelectMain.main(SelectMain.java:629)

所以需要设置JAVA虚拟机内存大小,增加动态数组List的最大容量。以eclipse开发工具为例
打开eclipse,选择Window--Preferences...在对话框左边的树上双击Java,再双击Installed JREs,在右边选择前面有对勾的JRE,再单击右边的Edit按钮,
出现一个 Edit JRE 的对话框,在其中的Default VM Arguments: 框中输入 -Xms512m -Xmx1024m ,这样设置Java拟虚机内存使用最小是512M,最大是1024M,再单击OK关闭Edit JRE 对话框,如下所示


扩展阅读
Java虚拟机(JVM)中的内存设置详解:http://developer.51cto.com/art/200906/127144.htm





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值