相关疑难解决方法(0)

有没有办法在运行时获取类的字节码?

在Java中,是否有一种方法(在运行时)获取定义特定类的字节码?

换句话说,有没有办法获取在加载特定类时byte[]传递给的数组ClassLoader.defineClass(String name, byte[] b, int off, int len)?我看到声明了这个方法final,因此创建一个ClassLoader拦截类定义的自定义似乎是不可能的.

在过去,我已经使用类ClassLoader来通过该getResourceAsStream(String)方法获取字节码,但我更喜欢更规范的解决方案.

java bytecode runtime

16
推荐指数
2
解决办法
4686
查看次数

Java:在同一个JVM中从运行时获取类的字节码

相关: 有没有办法在运行时获取类的字节码?

我正在为Clojure增加耐久性,我终于到了准备添加功能的地步.在Clojure中,函数通过调用方法(以及其他方式)进行字节编译.这样,功能就是一流的.为了使这些持久,我需要序列化和反序列化这些类.如何在不访问.class文件的情况下获取类的字节码?

如果我弄错了,请纠正我,但使用代理需要生成一个单独的VM,代理连接到第一个VM.我需要从同一个VM做到这一点.

使用Serializable来设置和获取Class对象是不够的.在反序列化时,我需要加载该类,并且在后续VM实例上,可能存在类名冲突.我需要修改字节码,以便在反序列化/类加载时将类重命名为唯一的.

java persistence bytecode clojure java-bytecode-asm

12
推荐指数
1
解决办法
6088
查看次数