gpt4 book ai didi

java - 为什么java中数组的大小有最大限制?

转载 作者:行者123 更新时间:2023-12-02 06:03:25 27 4
gpt4 key购买 nike

我必须找到 Do Java arrays have a maximum size?数组大小有最大限制。

可能是为了耗尽堆空间。是的,我同意这个观点。

我无法理解以下内容:

  1. 但是为什么每个数组都有这个限制呢?

  2. 如果我有多个如此大尺寸的数组怎么办?

  3. 为什么当达到堆空间总体(总消耗)的某个阈值时不抛出异常,而不是为每个数组设置上限?

注意:

  1. 在 Python 中,它们有这个限制 How Big can a Python Array Get?

  2. 在 C 中,似乎没有限制(除了使用的硬件)The maximum size of an array in C

最佳答案

java中的数组是通过int值来索引的。因此,即使您有无限的内存,最大数量也是如此。数组可以容纳的元素数量是 2^31-1(如果我的数字有误,请纠正我......但你明白了)。

但是,您的内存将限制您在堆中可以保留多少个这样的大型数组......

关于java - 为什么java中数组的大小有最大限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23645496/

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