代码之家  ›  专栏  ›  技术社区  ›  Adam Paynter

是否有方法在运行时获取类的字节码?

  •  15
  • Adam Paynter  · 技术社区  · 15 年前

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

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

    在过去,我用过 类装载器 通过 getResourceAsStream(String) 方法,但我更喜欢更规范的解决方案。

    2 回复  |  直到 9 年前
        1
  •  9
  •   Wai Ha Lee captain-yossarian from Ukraine    9 年前

    Here 是如何实现代理的描述

        2
  •  5
  •   Tom Hawtin - tackline    15 年前

    “Java代理”将是显而易见的解决方案。