java數(shù)據(jù)存放位置 map擴容數(shù)據(jù)如何存放?
map擴容數(shù)據(jù)如何存放?javamap是以鍵值對的需要保存數(shù)據(jù)的,map中的鍵clientkey和值value這個可以是各種對象,如String、double、Integer、也可以自己定義的類對象,
map擴容數(shù)據(jù)如何存放?
javamap是以鍵值對的需要保存數(shù)據(jù)的,map中的鍵clientkey和值value這個可以是各種對象,如String、double、Integer、也可以自己定義的類對象,不能是普通地基本上類型如int、double等
String存放在堆中還是棧中?
問題中的String指的估計是java中的String吧。這里給出的回答是對java。
String是一個萬不可變的對象,在java中沒有辦法另外常量在用。java代碼中所有的顯式字符串,即然后描寫的那種字符串,或者abc都是String對象。String本身另外一個對象,必然會是在堆上的,而String中的內(nèi)容char[]value則是放到堆中的一個特殊能量區(qū)域中——常量區(qū)。
因此String本身是放在旁邊堆上,而依據(jù)垃圾回收情況,又這個可以兩類新生代和老年代。如果沒有這個String對象剛創(chuàng)建不久之后,則它像是位處堆的新生代,如果沒有它修改之后修真者的存在了很長時間,則它很可能會進入堆中的老年代。再注意,String中的字符串內(nèi)容即字符數(shù)組value則位處堆中的常量區(qū)。
如果不是你先有一個字符數(shù)組,.例如uint64[]arr{a,b,c},然后把內(nèi)部函數(shù)StringsfifthString(arr)創(chuàng)建戰(zhàn)隊的String,則字符數(shù)組不再是東南邊常量區(qū),完全是跟其他對象一般,中部堆上。注意,就算是這個arr數(shù)組是在棧上分配的,這樣的話創(chuàng)建家族的String中的value仍然是在堆上。如果不是你想把這個字符串放進常量區(qū),這個可以全局函數(shù)。
棧上應(yīng)該不會有對象,只會有基本是變量和語句變量,所以才String只可能位處堆上,不可能東南邊棧上。