[問題] GC回收的內容

看板java作者 (coding cody)時間15年前 (2010/03/03 03:04), 編輯推噓2(201)
留言3則, 3人參與, 最新討論串1/3 (看更多)
小弟最近工作其中一項內容和Garbage Collector有關 目前我手邊的東西是一個gctest.dll(在unix下也可以compile成.so) 這顆library主要是取得GC event的callback 例如在GC開始執行時於畫面上print一行"GC start"之類的功能 現在小弟遭遇的困難是 有一個工作是除了要知道GC何時開始和結束之外 還要能知道GC執行後回收的object內容 (不管什麼資訊都可以,只要能知道有哪些東西沒了就可以) 我有找到Objectfree這個JVM environment的event 但我用來測試的java程式似乎完全不為GC所動... 以下為測試用java程式大概的內容: for (int i = 1; i < 5000; ++i) { try { GreeterClassLoader gcl = new GreeterClassLoader("greeters"); Class c = gcl.loadClass("Surprise", true); Object o = c.newInstance(); Greeter greeter = (Greeter) o; greeter.greet(); gcl = null; c = null; o = null; greeter = null; //System.gc(); }catch (Exception e) { e.printStackTrace(); } } 理論上我已經把new出來的object指向null 所以GC啟動時應該會把object回收 但好像沒有 推測原因是該object所佔空間對GC來說構不成威脅,所以GC無視他@@ 就算強迫GC執行也是一樣 所以想請問版上的高手 有沒有確實能夠讓GC回收object的寫法呢? (至於GC回收的object我可以自己研究,但目前礙於根本無法讓GC回收物件 導致沒辦法測試Objectfree的效果> <) 在此先謝謝版上大大撥冗看完此篇落落長的問題m(_ _)m -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.37.131.207 ※ 編輯: comaniac 來自: 114.37.131.207 (03/03 03:05)

03/03 03:10, , 1F
用 -Xmx 限制記憶體大小?
03/03 03:10, 1F

03/03 14:04, , 2F
把CLASS搞大...load個1920*1080的ICON或來個超長字串
03/03 14:04, 2F

03/03 14:32, , 3F
這 id... 好眼熟 XD
03/03 14:32, 3F
文章代碼(AID): #1BZM4u2P (java)
文章代碼(AID): #1BZM4u2P (java)