java - Java 数组有最大大小吗?

标签 java arrays

Java 数组可以包含的元素数量有限制吗?如果是的话,那是什么?

最佳答案

使用

OpenJDK 64-Bit Server VM (build 15.0.2+7, mixed mode, sharing)

...在 MacOS 上,答案似乎是 Integer.MAX_VALUE - 2。一旦你超越了这个范围:

cat > Foo.java << "END"
public class Foo {
  public static void main(String[] args) {
    boolean[] array = new boolean[Integer.MAX_VALUE - 1]; // too big
  }
}
END
java -Xmx4g Foo.java

...你得到:

Exception in thread "main" java.lang.OutOfMemoryError:
  Requested array size exceeds VM limit

关于java - Java 数组有最大大小吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58617867/

相关文章:

python - 查找具有不同列长度的 numpy 数组的形状

c - 反转函数数组字符串

Java 性能提示

java - Android Manifest 未找到其他 XML 资源

java - 比较方法在比较 java.util.Date 时违反了它的一般契约

arrays - 如何用 1D 纹理替换 GLSL 统一数组

java - 在 Android 中授权用户最安全的方法是什么?

Java 检查字符串中是否添加了某些内容

arrays - SWIFT:具有 "direct"访问权限的快速阵列

c - 使用 %s 获取输出但 %c 返回垃圾值