Re: [問題] JAVA String
我還是初學者 (暫時看不懂各位先進關於記憶體指令的討論)
不過我記得之前問老師問題 他有提到
string literal 不會被 garbage collected
要用 new String ("type something here ") 產生的物件才會被GCed ?
原PO指令所顯示的是 literal
呼叫GC會被回收嗎 ??
還是我們老師只講了一半 沒講完全部?
※ 引述《mgdesigner (魔法設計師)》之銘言:
: ※ 引述《sysc (和平時多準備)》之銘言:
: : 如果說我有一個String
: : String a = "xxx";
: ~~~~~~~~~~~~~~~~~
: 上面拆開來等於說:
: 1.產生一個新物件"xxx"
: 2.產生一參考 a,讓a指向"xxx"
: : 現在當我這個a 想要改變值的時候
: : 現在我是這樣寫
: : a = "bbb";
: ~~~~~~~~~~~
: 這等於說:
: 1.產生一個新物件"bbb"
: 2.把a改指到"bbb"
: 但是"xxx"仍然存在喔,只是"xxx"目前沒有被一個參考指到。
: : 但是 如果要對記憶體比較好一點的話 是否需要先用個方法把a 給clear 掉?
: 你應該是說把"xxx"給清掉吧?
: a=null;a= "bbb";這樣?記得gc()一下,不過應該是沒差很多。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 206.116.15.204
推
01/27 20:18, , 1F
01/27 20:18, 1F
→
01/27 20:20, , 2F
01/27 20:20, 2F
→
01/27 20:22, , 3F
01/27 20:22, 3F
推
01/27 20:24, , 4F
01/27 20:24, 4F
討論串 (同標題文章)