为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Java 运行时生成现有类的字节码?

如何在 Java 运行时生成现有类的字节码?

慕的地8271018 2021-11-24 16:17:59
如何在 Java 运行时生成现有类的字节码?我现有的课程是说 Foo.javapublic class Foo {    public String saySomething() {        return "Hello World";    }}现在我想生成这个现有类的字节码,Foo.java并可能在另一个 JVM 实例中使用它。请理解我不是在运行时创建类,因为我已经有一个名为Foo.java. 对任何库开放,例如 ASM 或 ByteBuddy 等。
查看完整描述

2 回答

?
子衿沉夜

TA贡献1828条经验 获得超3个赞

下面的文章将介绍如何在运行时编译从源代码类,使用ToolProvider.getSystemJavaCompiler()


查看完整回答
反对 回复 2021-11-24
?
慕姐8265434

TA贡献1813条经验 获得超2个赞

您不需要为此使用库,任何类文件都只是一个资源,就像可以通过Foo.class.getResource("Foo.class"). 您可以像读取任何其他资源一样打开此资源的流并读取其字节。

如果您已经在使用 Byte Buddy,您可以通过以下方式获取字节:ClassFileLocator.ForClassLoader.read(Foo.class)但如果这就是您所需要的,那么使用库将是一种矫枉过正。


查看完整回答
反对 回复 2021-11-24
  • 2 回答
  • 0 关注
  • 175 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信