這聽起來很愚蠢,但我仍然不清楚Java堆棧和內存堆。我從研究中得知如下:與Java內存管理(堆棧和堆)混淆
1)所有的方法調用都進入堆棧。
2)所有本地分配的存儲器的推移存儲器堆(未關於這點很清楚)
3)由新的運營商分配的所有存儲器(無論是在一個方法或在一個類)的推移存儲器堆。
我擔心的是以下情況:
1)如果我的方法創建一個int變量並返回它,它在哪裏去(我相信它會在棧上,但需要澄清)。如果我在一個方法中創建一個新的對象,即使在方法執行結束後它仍然存在於堆內存中(我理解這是因爲Java分配的對象的哈希代碼在我分配時保持不變這個對象給一些外部引用變量或者我返回這個對象)。
3)我的問題是如果我沒有將第2點中提到的對象分配給任何引用會發生什麼,或者我沒有返回這個。它是否仍然在堆上創建?邏輯上它應該是,但請賜教。
非常感謝你much..I很滿意答案:) – dharam