JDK1 8 String常量池詳解

2021-09-24 08:15:20 字數 556 閱讀 8787

jdk 1.8

注意:

string s1 = new string("zxy");    // 結論3

s1.intern(); // 常量池非空,返回值是常量池裡的內容

string s2 = "zxy"; // 常量池非空,返回值是常量池裡的內容

system.out.println(s1 == s2); //false

system.out.println(s1.intern() == s2); // true

複製**

string s1 = "zxy"; // 加到常量池

string s2 = new string("zxy"); // 加到堆,常量池有東西所以啥也不幹

system.out.println(s1 == s2); // false

system.out.println(s1 == s2.intern()); // true 常量池非空,intern返回常量池裡的內容

複製**

String中intern方法和常量池詳解

intern方法的作用 在jdk1.7版本以後,檢視常量池中有沒有該字串的常量,如果沒有,就將該字串的引用放到常量池,如果有,則返回該字串。在jdk1.7以前,檢視常量池中有沒有該字串的常量,如果沒有,就將該字串拷貝乙份放到常量池,如果有,則返回該常量的引用。先看以下 判斷下輸出是什麼?string...

JDK1 8關於執行時常量池, 字串常量池的要點

網上關於jdk 1.8的各種實驗,結論魚龍混雜 很多都相矛盾,網上有的實驗也被後人測試出了不同的結果 很多都分辨不了真假,這裡記錄一下網路上正確的結論,歡迎指正 首先自行區分執行時常量池與class檔案常量池 靜態常量池 的概念,jvm記憶體模型 方法區與永久代的區別,有些在我的其他部落格有介紹,連...

執行緒池原理(JDK1 8)

2018 08 06 16 30 37 食魚醬 閱讀數 318更多 threadpoolexecutor是執行緒池類。對於執行緒池,可以通俗的將它理解為 存放一定數量執行緒的乙個執行緒集合。執行緒池允許若個執行緒同時允許,允許同時執行的執行緒數量就是執行緒池的容量 當新增的到執行緒池中的執行緒超過它...