2
在.Net, it seems不能可以獲得可以卸載的動態編譯代碼的本機性能?
- 動態編譯代碼
- 呼叫直接經編譯的代碼(即,W/O 「遠程」,編組等)和
- 刪除(僅)從編譯的代碼內存
你必須在2.(通過生成代碼到調用AppDomain本身)或3(通過生成代碼到一個可拋棄的AppDomain),但你不能有兩者。
現在我很好奇,如果這是可能的Java。我不知道有足夠的瞭解類加載器,但似乎在Java中,我可以
- 動態編譯的代碼放到一個扔掉的類加載器
- 調用編譯後的代碼(比如,通過虛擬方法調用預定義接口)直接,W/O任何編組
- 撈出來編譯的類和扔掉的類加載器的所有引用,這樣GC會照顧去除
的是這樣的假設是否有效?
謝謝。顯然,如果你持有一個對象的引用,你不能指望它的類加載器消失。好消息似乎是:在Java中,它可以完成。在.Net中,你必須決定:執行和泄漏 - 或者兩者都不。 –