「Java の配列」を表すクラスの基底クラス.
((cite: hotspot/src/share/vm/oops/arrayOop.hpp))
// arrayOopDesc is the abstract baseclass for all arrays. It doesn't
// declare pure virtual to enforce this because that would allocate a vtbl
// in each instance, which we don't want.
((cite: hotspot/src/share/vm/oops/arrayOop.hpp))
class arrayOopDesc : public oopDesc {
なお, このクラス自体は abstract class であり, 実際に使われるのは以下のサブクラス.
スーパークラスである oopDesc クラスの mark フィールド(markOopDesc)と klass フィールドに加え, 配列長を示す length フィールドを持つ.
((cite: hotspot/src/share/vm/oops/arrayOop.hpp))
// The layout of array Oops is:
//
// markOop
// klassOop // 32 bits if compressed but declared 64 in LP64.
// length // shares klass memory or allocated after declared fields.
なお, 実際の使用箇所では arrayOop という別名(もしくはラッパークラス)で使われることが多い (See: arrayOop).
See: here for details
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.