[問題] string pool 疑問

看板java作者 (單身漢)時間10年前 (2015/05/20 22:09), 編輯推噓2(201)
留言3則, 2人參與, 最新討論串1/1
請問一下各位 , 關於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

05/20 22:55, , 1F
不用擔心這種問題,JVM會替妳搞定一切
05/20 22:55, 1F

05/27 23:23, , 2F
或者得到一個 java.lang.OutOfMemoryError
05/27 23:23, 2F

05/27 23:24, , 3F
但我猜你會想得到一些關鍵字 StringBuffer StringBuilder
05/27 23:24, 3F
文章代碼(AID): #1LN9M12R (java)
文章代碼(AID): #1LN9M12R (java)