堆 棧 靜態(tài)存儲區(qū) 內(nèi)存中棧,堆,靜態(tài)區(qū)到底有什么區(qū)別?
內(nèi)存中棧,堆,靜態(tài)區(qū)到底有什么區(qū)別?通常,我們定義一個基本數(shù)據(jù)類型的變量、一個對象的引用、函數(shù)調(diào)用的現(xiàn)場存儲都使用內(nèi)存中的堆??臻g;而new關(guān)鍵字和構(gòu)造函數(shù)創(chuàng)建的對象放在堆空間中;程序中的文字值,如直
內(nèi)存中棧,堆,靜態(tài)區(qū)到底有什么區(qū)別?
通常,我們定義一個基本數(shù)據(jù)類型的變量、一個對象的引用、函數(shù)調(diào)用的現(xiàn)場存儲都使用內(nèi)存中的堆??臻g;而new關(guān)鍵字和構(gòu)造函數(shù)創(chuàng)建的對象放在堆空間中;程序中的文字值,如直接寫的100、“hello”和常量放在堆空間中靜態(tài)區(qū)域。堆??臻g是最快的操作,但堆棧非常小。通常在堆空間中放置大量對象。理論上,其他進程不使用的整個內(nèi)存空間,甚至硬盤上的虛擬內(nèi)存都可以用作堆空間。