У меня нет большой идеи по Java.
Я просматривал несколько ссылок, и наш блог говорит: "Примитивы Java, хранящиеся в стеке", которые, как мне кажется, зависят от переменной экземпляра или локальной переменной.
Пройдя несколько ссылок, мой вывод:
Переменные класса - примитивы - хранятся в куче как часть объекта, который он содержит.
Переменные класса - объект (определяемый пользователем) - хранятся в куче как часть объекта, который он содержит. Это верно как для ссылочного, так и для фактического объекта.
Переменные метода - примитивы - хранятся в стеке как часть этого фрейма стека.
Переменные метода - объект (определяемый пользователем) - хранятся в куче, но ссылка на эту область в куче хранится в стеке как часть этого фрейма стека. Ссылки могут также храниться в куче, если объект содержит в себе другой объект.
Статические методы (фактически все методы), а также статические переменные хранятся в куче.
Пожалуйста, поправьте меня, если мое понимание ошибочно. Спасибо.