Re: [問題] Runtime.getRuntime() Memory 問題

看板java作者 (痞子軍團團長)時間15年前 (2010/03/26 23:12), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《duple (Bygones)》之銘言: : Runtime.getRuntime().totalMemory()-Runtime.getRuntime().freeMemory() : 這個方式,我有一點疑問,就是 如果我用兩台不一樣的電腦下去跑相同的程式 : 跑出來的memory數量其實不太相同。 : 我想請問,為什麼不同? : 照理來說使用的記憶體應該差不多,是否在執行的時候配置跟os有關? : total memory 我測過是一樣的,但是freememory會改變,我想請問改變的原因是為何? : 請各位解決我的疑惑,謝謝!! : → tkcn:我不知道,但我想 JConsole 可以讓你觀察到更多東西 03/26 15:04 : → AmosYang:"請各位解決我的疑惑" <-- LOL XD 03/26 15:12 : 推 PsMonkey:那個 freeMemory() 的說明有仔細看嗎? 03/26 16:12 : → duple:請問樓上freememory 不是未使用的空間嗎? 03/26 17:02 請注意,大小寫是有別的,你寫 freememory 是錯字,基本上也算犯了版規 http://java.sun.com/javase/6/docs/api/java/lang/Runtime.html#freeMemory() Returns the amount of free memory in the Java Virtual Machine. Calling the gc method may result in increasing the value returned by freeMemory. 不用說不同台電腦 我以前用同一台電腦玩這東西,都會得到不同的數字 JVM 什麼時候 GC 是沒辦法預測的(理論上) 甚至會覺得 GC 的結果也無法預測(這有點像是上面那句的結果) 所以也就更不用講 freeMemory() 的東西也只能參考用 ==== JVM 完全不熟,有錯還請指點 -- 錢鍾書: 說出來的話 http://www.psmonkey.org 比不上不說出來的話 Java 版 cookcomic 版 只影射著說不出來的話 and more...... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.70.183.120

04/09 20:01, , 1F
我也不熟,感謝你的回答~
04/09 20:01, 1F
文章代碼(AID): #1BhCxkI6 (java)
文章代碼(AID): #1BhCxkI6 (java)