內:Is there a way to obtain the bytecode for a class at runtime?的Java:在運行時獲得類字節碼從與同一JVM
我加入耐久性的Clojure,我終於在這裏,我準備添加的功能點。在Clojure中,函數使用invoke方法(等等)將字節編譯爲類。這樣,功能就是一流的。爲了使這些持久化,我需要序列化和反序列化這些類。如何在不訪問.class文件的情況下獲取該類的字節碼?
如果我錯了,請糾正我的錯誤,但使用代理需要產生一個單獨的虛擬機並且代理連接到第一個虛擬機。我需要從同一個虛擬機來完成。
僅使用Serializable來設置和獲取Class對象是不夠的。在反序列化之後,我需要加載這個類,並且在後續的VM實例中,可能會出現類名衝突。我需要修改字節碼來將類重命名爲反序列化/類加載時唯一的東西。
我絕不是這個話題的專家,但它可能是值得嘗試堅持函數*定義*而不是底層字節碼。你可以重新將函數重新編譯爲字節碼。 – mikera 2010-11-09 20:27:32