作者noapaov (單身漢)
看板java
標題[問題] string pool 疑問
時間Wed May 20 22:09:03 2015
請問一下各位 , 關於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嗎? 這有方法避免嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.34.181.227
※ 文章網址: https://www.ptt.cc/bbs/java/M.1432130945.A.09B.html
推 LaPass: 不用擔心這種問題,JVM會替妳搞定一切 05/20 22:55
推 gtr99: 或者得到一個 java.lang.OutOfMemoryError 05/27 23:23
→ gtr99: 但我猜你會想得到一些關鍵字 StringBuffer StringBuilder 05/27 23:24