字串常量池

2022-09-20 02:48:12 字數 484 閱讀 2333

string a =「hello」」

string b =「hello」」

string aa = new string("aa")

string bb = new string("bb")

字串常量池在方法區中

其中 變數a  jvm先到字串常量池中尋找如果沒有就在字串常量池中建立乙個字串hello,並且將該字串常量池的hello的記憶體位址值給變數a

其中 變數a  jvm先到字串常量池中尋找 如果該常量池中已經有了這個hello字串,就把該字串的位址值給變數b

其中變數aa jvm先到字串常量池中尋找 如果沒有就在字串常量池中建立乙個字串hello,並且在堆記憶體中建立乙個物件把hello複製到該物件中 ,把該物件的位址值給變數aa

其中變數bb jvm先到字串常量池中尋找 如果存在就不建立直接把這個hello字串複製給,在堆記憶體中建立的物件,把該物件的位址值給變數bb

字串常量池

string的不可變性。字串常量池是不會儲存相同內容的字串。xx stringtablesize設定stringtable的長度。jdk8最小值為1009 string的string pool是固定大小的hashtable 字串常量池在堆中。字串拼接操作 和 equals equals 對於obje...

JAVA 字串常量池

system.out.println s s1 string 類 equals 重寫 比較的內容 system.out.println s.equals s1 字串是常量,它們的值在建立之後不能更改 一旦修改字串儲存的資料 自動建立乙個的物件內部儲存是修改的資料 string s2 abc new ...

java字串常量池

字串常量池,程式當中直接寫上雙引號字串,就在字串常量池中 對於基本型別來說 是進行數值得比較 對於引用型別來說 是進行 位址值 比較 string s1 abc string s2 abc system.out.println s1 s2 結果是 true 採用字面值的方式建立乙個字串時,jvm首先...