Который идет в стек или кучу?

Я немного изучаю и натолкнулся на вопрос, который просит показать правильную диаграмму памяти следующего кода:

int [] d1 = new int[5];
d1[0] = 3;

Integer [] d2 = new Integer[5];
d2[0] = new Integer(3);

ArrayList d3 = new ArrayList();
d3.add(3);

Вот моя попытка диаграммы памяти, но она может быть неверной:

Я понимаю, что такие вещи, как объекты, переменные экземпляров и «новые» экземпляры находятся в куче, а такие вещи, как локальные переменные и типы примитивов, находятся в стеке, но я все еще не понимаю, когда речь идет о типах массивов.

Любая помощь приветствуется.

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

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