請問一下各位 , 關於string pool的問題
據我所知, 建立String有兩種方法, 但結果不太一樣, 網路上查了一下
String string = "Cat";
String string = new String("Cat");
採用第一種方法,會先檢查string pool是否有相同的string。若有就共用,沒有則建立之。
採用第二種方法﹐不會使用到string pool機制,而是在heap建立一個新的string object。若之後想要使用string pool機制,可以使用intern。
其實我想問的是, 如果都使用方法一, string pool裡占用的記憶體會釋放嗎?
如果不會釋放, 不是很容易造成 memory leak嗎? 這有方法避免嗎?