我正在尝试验证“动态”生成的字节码!
我已经进行了几次尝试,一种尝试是在运行时使用 eclipse 编译器编译我的类,另一种是从内存中编译,如此处所述:
第一个结果看起来不错,但我仍然不能 100% 确定根据 JAVA 6 指南和安全测量以及正常的 OOP 模型,验证过程是否真正有效。
关于如何验证字节码的任何更好的方法?
如果您使用标准类加载器加载生成的字节码,JVM 的字节码验证器将为您验证(确保其类型检查,永远不会落在方法的“边缘”等)字节码。
您可以使用ASM 工具包提供的类验证器。这不需要 JVM 实际加载类,并为您提供更详细的验证错误报告。