Запутано с управлением памятью Java (стеки и кучи)

Это может звучать глупо, но я до сих пор не понимаю, что такое стек Java и куча памяти. Из учебы я знаю следующее:

1) Все вызовы методов идут в стек.

2) Вся выделенная локально память уходит в кучу памяти (не очень понятно об этом пункте)

3) Вся память, выделенная новым оператором (либо в методе, либо в классе), уходит в кучу памяти.

Я беспокоюсь о следующих случаях:

1) Если я создаю переменную int в методе и возвращаю ее, куда она идет (я считаю, что она идет в стек, но требует пояснения).

2) Если я создаю новый объект в методе, он перемещается в кучную память, поскольку он существует даже после завершения выполнения методов (я понимаю, это происходит потому, что хеш-код объекта, созданного Java, остается тем же самым, когда я назначаю этот объект некоторым внешняя ссылочная переменная или я возвращаю этот объект).

3) Моя проблема в том, что происходит, если я не назначаю объект, упомянутый в пункте 2, какой-либо ссылке или не возвращаю это. Это все еще создано в куче? По логике это должно быть, но, пожалуйста, просветите меня.

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

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