看板 java 關於我們 聯絡資訊
※ 引述《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()一下,不過應該是沒差很多。 我有注意到我寫的簡單代換String 的程式 我是用Timer 讓字串一直代換 過了幾個月後竟然會吃超多記憶體... 雖然是沒有變慢怎樣的 重新執行也很正常 但是就是覺得怪怪的 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.26.242
tkcn:請問超多記憶體大概是多少? 01/24 00:14
sysc:300mb 01/24 00:28
tkcn:不太合理,可能需要看程式碼 01/24 00:36
f953024:你是讓程式跑好幾個月嗎.... 01/24 00:50
sysc:差不多半年 windows jvm~~~不過那是我丟著忘記.... 01/24 19:36
jtmh:不知道你所謂的代換 string 是如何代換的? 不過如果你真的 01/24 22:18
jtmh:確定是這個問題的話,可能要好好檢查是不是程式一直把 string 01/24 22:23