我正在为 Clojure 添加持久性,我终于可以准备添加功能了。在 Clojure 中,函数被字节编译成带有调用方法(以及其他方法)的类。这样,功能是一流的。为了使这些持久化,我需要对这些类进行序列化和反序列化。如何在无法访问 .class 文件的情况下获取类的字节码?
如果我弄错了,请纠正我,但使用代理需要生成一个单独的虚拟机,代理连接到第一个虚拟机。我需要从同一个虚拟机上做这件事。
使用 Serializable 来设置和获取 Class 对象是不够的。在反序列化时,我需要加载类,并且在后续的 VM 实例中,可能存在类名冲突。我需要修改字节码以将类重命名为在反序列化/类加载时唯一的名称。