gpt4 book ai didi

java - Java 2D 数组长度的限制是多少?

转载 作者:行者123 更新时间:2023-12-01 11:55:04 27 4
gpt4 key购买 nike

我正在对一个二维数组进行边界检查,它是 array[8][LIMIT];然后我尝试了几次,找到了LIMIT变量不能大于89489404,否则会出现如下异常:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at testLimit.testLimit.main(testLimit.java:9)

我知道二维数组应该分配连续空间的内存,但出于好奇,Java如何决定这个数字?如果我需要new基于用户输入的二维数组,如何检查边界以便不存在 OutOfMemoryError会被抛出吗?

最佳答案

数组的最大大小取决于通过 -Xmx 启动参数分配给 JVM 的内存量。如果您为虚拟机分配更多内存,它可以在耗尽可用内存之前分配更多空间。但绝对最大值是 2^31-1,因为 java 使用有符号整数并且索引必须为正

关于java - Java 2D 数组长度的限制是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28520474/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com