Как работают массивы в байт-коде Java [duplicate]

На этот вопрос уже есть ответ здесь:

Где массив?определено свойство длины? 7 ответовКак работает класс массива в Java? 4 ответа

Если я использую обычный класс, такой как List, Vector или что-то еще, я получаюsize() функция, которая возвращает длину рассматриваемого класса, но если я использую массив класса или тип данных по умолчанию, я получаю публичную длину члена, которая возвращает текущую длину массива.

int a[] = new int[3];
a.length; // used without ()

Vector v = new Vector();
v.length(); // used with ()

Это почему? Я имею в виду, что массив не является собственным классомне так ли? Так что, если это не класс, он можетне может быть членом varaible. Я могу'Я не понимаю, как это обрабатывается в фоновом режиме (ByteCode). Я знаю, что массив в памяти хранится с указателем на первый элемент массива и с индексом (i), на который указатель памяти смещен.ArrayPointer + i*(size of DataType)

Теперь вы можете сказать, что компьютер проходит через все элементы массива и считает все элементы, но как компьютер может знать, где заканчивается массив и где начинается следующий? И откуда приходитчлен varaible ' из массива, где хранится размер?

Я имею в виду, что мы так часто используем массивы, но я так мало знаю, что происходит за Java-кодом в ByteCode. Можете ли вы объяснить мне, как это возможно?

Ответы на вопрос(5)

Ваш ответ на вопрос