java中String的儲存位置

2021-08-30 17:20:37 字數 390 閱讀 3670

public class test 

}

string在對在編譯時可以確定的常量會做一定的優化,把其放在字串常量池中。(ab1==ab2為true)

+ 和 new出來的物件都是儲存在堆內

物件引用都是儲存在棧內

string a = "a";
這條語句在執行的時候,會在常量池內建立乙個string物件,內容為a,a指向這個物件。

string ab5 = new string("ab");
這條語句在執行的時候,會先去常量池內查詢有沒有值為ab的物件,沒有的話,就建立,有的話,就在堆上面建立乙個新的物件,內容是ab,ab5指向這個在堆上建立的物件。

java中的String型別的儲存原理和一些細節

string s1 hello 在常量池查詢 hello 沒有就新建乙個。s1是乙個引用,指向常量池的hello string s2 hello s1,s2都指向常量池中的同乙個 hello string s3 new string hello 新建乙個物件,存放在堆區中,每次呼叫都新建乙個物件。s...

java中string物件中的split方法的使用

我們都知道string物件中的split方法,是用來按照根據匹配給定的正規表示式來拆分此字串。split方法有兩種 一種為 public stringsplit stringregex 另一種為 public stringsplit stringregex,intlimit 但是在實際應用中我們常用...

Java 中的位運算

移位運算子 包括 右移 左移 無符號右移 例子 5 3 1 1111 1111 1111 1111 1111 1111 1111 1011 1111 1111 1111 1111 1111 1111 1111 1111 其結果與 math.floor double 5 2 2 2 完全相同。5 3 ...