2011-03-08 16 views
0

昨天我剛剛聽到關於java中垃圾回收的講座。你管上的"Basics of Garbage Collection",所以我試圖實現我自己的垃圾收集算法。所以我只是想讓任何人實現它。是否有辦法做到這一點?如果是的話,請你幫我解決。 謝謝 -Sagar S.在Java中實現Explecit垃圾回收算法

+0

嘿,人們......如果你投票結束,請在這裏添加至少一條評論,爲什麼它不對。 – 2011-03-08 17:41:52

回答

1

爲了實現您自己的垃圾收集,您還必須實現一個完整的Java虛擬機,因爲它們彼此交織在一起。

  • 對於垃圾收集器有任何事情要做,它需要一些Java對象。
  • 爲了使Java對象有用(並且能夠分配它們),您需要執行Java代碼。

所以,如果你想實現這個在Java中,你就必須創建一個基於Java的Java虛擬機。

好運:-)


如果你只想爲現有VM垃圾收集器,看看開源的像OpenJDK的,GJC,Apache的和諧。我認爲它們已經足夠模塊化,所以你可以在那裏插入另一個GC實現 - 你仍然必須確保它適合內存分配算法,以及訪問對象的所有內容。你將不得不像虛擬機本身一樣使用相同的語言,我想(主要是C或C++)。

+0

你完全不需要完整的JVM,邏輯如何收集垃圾,複製,標記/掃描,不需要任何特殊對象,僅供參考就足夠了。實際上有時我想知道爲什麼熱點優化不是用java編寫的。垃圾收集不能單獨用java編寫,但(無指針位遊戲) – bestsss 2011-03-08 17:43:05