[英]where will an array declared like this int[][][] arr = { { { 1, 2 }, { 3, 4 } }, { { 5, 6 }, { 7, 8 } } }; in java get stored?
通常,在Java新關鍵字用於制造陣列不過這也是一個辦法做到這一點,所以我很好奇,哪來這個數組存儲在java中它會在堆棧或堆內存
正如在評論中解釋說:
int[][][] arr = { { { 1, 2 }, { 3, 4 } }, { { 5, 6 }, { 7, 8 } } };
是語法糖
int[][][] arr = new int[][][] { { { 1, 2 }, { 3, 4 } }, { { 5, 6 }, { 7, 8 } } };
在這兩種情況下,變量arr
都是在棧上分配的(如果是局部變量); 但實際的陣列對象arr
引用被分配在堆上。
數組對象總是存儲在堆存儲器。
陣列是一個對象,以便
可變+指針超出在堆
實際值在堆中
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.