java 堆和棧的區(qū)別

棧內(nèi)存:

  • 程序在棧內(nèi)存中運行

  • 棧中存的是基本數(shù)據(jù)類型和堆中對象的引用

  • 棧是運行時的單元

  • 棧解決程序的運行問題,即程序如何執(zhí)行,或者說如何處理數(shù)據(jù)

  • 一個線程一個獨立的線程棧

堆內(nèi)存:

  • 程序運行所需的大部分數(shù)據(jù)保存在棧內(nèi)存中

  • 堆中存的是對象

  • 堆是存儲的單元,堆只是一塊共享的內(nèi)存

  • 堆解決的是數(shù)據(jù)存儲的問題,即數(shù)據(jù)怎么放,放在哪兒

  • 所有線程共享堆內(nèi)存

Java中的參數(shù)傳遞( 傳值呢?還是傳引用? ):

  • 程序運行永遠都是在棧中進行的,因而參數(shù)傳遞時,只存在傳遞基本類型和對象引用的問題,不會直接傳遞對象本身

參考資料:

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1、概述 在Java中,內(nèi)存分為兩種,一種是棧內(nèi)存,另一種就是堆內(nèi)存。 2、堆內(nèi)存 1.什么是堆內(nèi)存? 堆內(nèi)存是是...
    EphemeralAurora閱讀 4,913評論 0 4
  • 1、概述 在Java中,內(nèi)存分為兩種,一種是棧內(nèi)存,另一種就是堆內(nèi)存。 2、堆內(nèi)存 2.1 什么是堆內(nèi)存? 堆內(nèi)存...
    北上杭不相信禿頭閱讀 186評論 0 0
  • 1、概述 在Java中,內(nèi)存分為兩種,一種是棧內(nèi)存,另一種就是堆內(nèi)存。 2、堆內(nèi)存 1.什么是堆內(nèi)存? 堆內(nèi)存是是...
    幸運年輪閱讀 183評論 0 0
  • 1、概述 在Java中,內(nèi)存分為兩種,一種是棧內(nèi)存,另一種就是堆內(nèi)存。 2、堆內(nèi)存 堆內(nèi)存是是Java內(nèi)存中的一種...
    Winterfell_Z閱讀 1,078評論 0 0
  • 這篇文章是我之前翻閱了不少的書籍以及從網(wǎng)絡(luò)上收集的一些資料的整理,因此不免有一些不準確的地方,同時不同JDK版本的...
    高廣超閱讀 16,040評論 3 83

友情鏈接更多精彩內(nèi)容