java堆和棧分別存放什么 什么是棧存儲區(qū)?
什么是棧存儲區(qū)?在C內(nèi)存中分為四個區(qū)域,分別是堆、棧、靜態(tài)存儲區(qū)和常量存儲區(qū)1。堆棧是編譯器在需要時分配的變量的存儲區(qū)域,在不需要時自動清除。其中的變量通常是局部變量、函數(shù)參數(shù)等。堆,也稱為空閑存儲區(qū)
什么是棧存儲區(qū)?
在C內(nèi)存中分為四個區(qū)域,分別是堆、棧、靜態(tài)存儲區(qū)和常量存儲區(qū)
1。堆棧是編譯器在需要時分配的變量的存儲區(qū)域,在不需要時自動清除。其中的變量通常是局部變量、函數(shù)參數(shù)等。堆,也稱為空閑存儲區(qū),是在程序執(zhí)行期間動態(tài)分配的,如果程序員不釋放新的,那么操作系統(tǒng)會在程序結(jié)束后自動回收它。如果堆對象被分配了,但是忘記釋放,如果對象被釋放了,但是相應(yīng)的指針沒有設(shè)置為null,那么內(nèi)存就會泄漏,指針是“懸掛指針”
3。靜態(tài)存儲區(qū)。所有靜態(tài)對象和全局對象都分配在靜態(tài)存儲區(qū)域中。
4。固定存儲區(qū)域。這是一個特殊的儲藏區(qū)。它們存儲的是常量,不能修改
](當然可以通過不適當?shù)姆绞叫迯?fù),方法很多)
常量字符串存儲在靜態(tài)存儲中,并返回常量字符串的第一個地址