棧內存:
- 程序在棧內存中運行
- 棧中存的是基本數據類型和堆中對象的引用
- 棧是運行時的單元
- 棧解決程序的運行問題,即程序如何執行,或者說如何處理數據
- 一個線程一個獨立的線程棧
堆內存:
- 程序運行所需的大部分數據保存在棧內存中
- 堆中存的是對象
- 堆是存儲的單元,堆只是一塊共享的內存
- 堆解決的是數據存儲的問題,即數據怎么放,放在哪兒
- 所有線程共享堆內存
Java中的參數傳遞(
傳值呢?還是傳引用?
):
- 程序運行永遠都是在棧中進行的,因而參數傳遞時,只存在傳遞基本類型和對象引用的問題,不會直接傳遞對象本身
參考資料: