Есть ли максимальный размер у массивов в java?

Vladislav Osipenkov

Есть массив byte[]. Чем ограничивается его максимальный размер? Влияет ли на это размер стека Xss для JVM?

1 ответ

Vladislav Osipenkov

Массивы хранятся в куче. Размер массива ограничивается памятью, выделенной для JVM. Но не только.

Если я не ошибаюсь, то при достаточном размере выделенной памяти, в массив можно записать Integer.MAX_VALUE - 8 элементов. И это не зависит от типа массива. 8 байт резервируются для информации об объекте (mark word).

Также, если найденная мной информация правильно понята, то есть еще зависимости от платформы. Но в найденных источниках нет цифры меньше Integer.MAX_VALUE - 8.

https://stackoverflow.com/a/31388054/3978990

https://stackoverflow.com/a/35756668/3978990

https://stackoverflow.com/a/8381338/3978990

licensed under cc by-sa 3.0 with attribution.