本文目錄一覽:
JAVA如何分配內存的?棧內存是什麼?堆內存?數據區?
你上面寫的程序有問題,我就不說了,自己看看書。
關於java內存分配是這樣的:
程序代碼存儲在”code segment”中,靜態變量和字符串常量存儲在“data segment”區域中,局部變量存儲在”stack”(棧內存)中,nwe出來的東西(即對象)存儲在”heap”(堆內存)中。
Java中內存分為幾塊
細分有5塊:
1.寄存器
——
供CPU使用
2.本地方法區
——
調用系統底層內容
3.方法區(也叫:數據區,共享區,共享數據區)
——
存放全局變量,靜態變量和字符串常量,和方法
4.棧
——
存放函數的參數值,局部變量的值等
5.堆
——
存放對象
Java靜態方法和實例方法在內存的分布情況
像類、靜態(static)變量還有代碼塊都存儲在方法區里,棧中存儲的是靜態方法、實例方法和變量,堆中存儲的是實例對象和實例變量。
原創文章,作者:XSQL,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/139669.html