Re: [問題] JAVA String

看板java作者 (sbr)時間17年前 (2009/01/24 16:50), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串5/9 (看更多)
※ 引述《garywine1201 (那是啥)》之銘言: : 一般而言jvm會在某段時間過後對於記憶體進行清理 : 但其清理的是程式在jvm中佔用的記憶體量 : 而非jvm在OS下的記憶體佔用量 : 可以看一下這邊對於gc()函式的實驗 : http://www.devdaily.com/java/edu/pj/pj010008/pj010008.shtml : 摘錄最後實驗結果 : free memory before creating array: 4054912 : free memory after creating array: 3852496 : free memory after running gc(): 4064184 : 在實驗開始之前,jvm可用記憶體為4054912 : 這邊指的是jvm在OS當中的佔用量 : 實驗開始之後,jvm的記憶體配置為3852496 : 但重新釋放之後卻使得記憶體可用為4064184 : 這邊會發現jvm多吃了OS一些空間 從這些數據怎麼可以推論出 JVM 從 OS 獲得更多的記憶體空間? 這個測試程式執行 step 2 的時候,並不表示此時 JVM 管理的 heap 是 garbage- free,所以等到 step 5 之後 available heap 空間變多,不代表 JVM 向 OS 索取 更多的記憶體。 : 因此對jvm進行free這個動作,並不會減少其耗用OS的資源能力 : 因為jvm是自行控管記憶體配置的 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.173.140.84
文章代碼(AID): #19UjP8jW (java)
討論串 (同標題文章)
文章代碼(AID): #19UjP8jW (java)