在运行我的java代码时,我收到了类似这样的错误。请帮助我解决此错误...我想知道 STRING ARRAY的最大大小。 ..
答案 0 :(得分:2)
此时任何阵列的最大长度为Integer.MAX_VALUE
,对于64位和32位VM,大约为2G。
new
运算符接受int
作为长度参数(例如new int[intLength]
)的原因。有人建议在将来的Java版本中允许long
。
如果您的数组/字符串的长度小于Integer.MAX_VALUE,请尝试增加最大堆大小 - 例如:
-Xmx4g
其中4g表示4GB
答案 1 :(得分:1)
数组大小仅受堆大小限制。
使用增加程序的堆分配-Xmx1500m
作为运行应用程序时的jvm参数。
java -Xmx2000m .......
32位JAVA最高可达4GB,64位更高。