gpt4 book ai didi

java - Java 数组中的长度是如何实现的?

转载 作者:IT老高 更新时间:2023-10-28 20:48:01 24 4
gpt4 key购买 nike

我想知道 Java 数组的 length 的实现。我知道使用 arrayName.length 为我们提供了数组中元素的数量,但想知道这是一个方法/函数还是只是 Array 的一个数据成员?

我猜它一定是一个数据成员,因为我们在调用它时不使用括号()。但是如果它是一个数据成员,这个 length 的值是如何/何时分配/计算的?

最佳答案

根据 Java 语言规范(特别是 §10.7 Array Members),它是一个字段:

  • The public final field length, which contains the number of components of the array (length may be positive or zero).

在内部,值可能存储在对象头中的某个位置,但这是一个实现细节,取决于具体的 JVM 实现。

HotSpot VM(流行的 Oracle(以前的 Sun)JRE/JDK 中的一种)stores the size in the object-header :

[...] arrays have a third header field, for the array size.

关于java - Java 数组中的长度是如何实现的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5950155/

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