導航:首頁 > 編程語言 > javanew內存

javanew內存

發布時間:2023-08-10 13:00:40

A. java的方法中new的對象存儲在內存中那個區域

這個對象存在堆中,還是棧中?
答:堆,new一個對象,一定是在堆中
方法內部new出來的對象,在哪裡存著?
答:堆,new出來對象的實例變數都存在堆上面。

棧,這個東西,需要理解為:線程運行時,才會創建,執行完,就沒了。
Person p = new Person();
上面這段代碼,在執行時,p壓入棧,通過局部變數表,找到對應的【實例數據】,執行完畢後釋放。

B. new一個java對象的時候,內存是怎麼分配的

以 Object obj = new Object();為例
obj 保存在虛擬機棧內存,是個地址. new Object();的內容保存在堆內存, new關鍵字代表的就是在堆內存開辟空間

C. java 中new一個對象佔多少內存

Object
o=new
Object():
在java中空對象佔八個位元組,對象的引用佔四個位元組。所以上面那條語句所佔的空間是4byte+8byte=12byte.java中的內存是以8的倍數來分配的,所以分配的內存是16byte.
舉個例子:
Class
O{
int
i;
byte
j;
String
s;
}
其所佔內存的大小是空對象(8)+int(4)+byte(1)+String引用(4)=17byte,因要是8的整數倍,所以其佔大小為24byte.
當然,如果類里有其他對象的話,也要把其他對象的空間算進去。
其實這個在javaeye的電子期刊上有。

閱讀全文

與javanew內存相關的資料

熱點內容
解壓小手工A4紙 瀏覽:974
鋼筋加密區是幾倍 瀏覽:663
編譯程序代碼軟體 瀏覽:799
怎麼恢復加密的東西 瀏覽:980
程序員賣茶 瀏覽:696
後端程序員英文 瀏覽:359
滴滴程序員平均月薪 瀏覽:588
如何使用ftp命令 瀏覽:786
小書亭下載的文件在哪手機文件夾 瀏覽:175
交叉編譯器編譯單個c文件 瀏覽:512
代理伺服器地址列表吧 瀏覽:929
java列出所有文件 瀏覽:867
壓縮包看圖軟體 瀏覽:189
sqlite在android中的應用 瀏覽:660
一本通pdf 瀏覽:914
2021免費的編程軟體 瀏覽:125
項目編譯後瀏覽器不對應刷新 瀏覽:566
三星升級android60 瀏覽:296
粘土的壓縮模量 瀏覽:119
美國程序員生活 瀏覽:222