從內存角度去分析String s1= "abc"與String s2 = new String("abc")的問題

相信大家經常見到這樣的問題: String s1 = "abc"; String s2 = new String("acb"); 兩者有什麼區別? 下面我將用內存分配的角度去分析這個問題,一般它們所涉及的內存區有三個,分別是棧,堆,常量池 當執行String s1 = "acb"時,首先它會在棧裏創建一個s1的引用,然後再去常量池裏查有「abc」這個字符串,如果有,則執行指向它,若沒有則,新建一個
相關文章
相關標籤/搜索