我使用以下代码
创建一个Source对象实例Source source = new ByteBuddy()
.subclass(Source.class)
.method(named("hello"))
.intercept(MethodDelegation.to(Target.class))
.defineMethod("myNewMethod", void.class)
.intercept(MethodDelegation.to(Target.class))
.make()
.load(Source.class.getClassLoader())
.getLoaded()
.newInstance();
如果由ByteBuddy创建,我如何分析 Source 对象?它是实现的任何标记接口还是这样的?生成的对象的实际类是类似源$ ByteBuddy $ HFuwCkIQ 谢谢!
答案 0 :(得分:4)
Byte Buddy不会在其生成的代码中留下任何痕迹,除非您将这些跟踪放入生成的类中。默认情况下,在创建子类时,Byte Buddy的默认命名策略会将$ByteBuddy$
添加到子类的名称中,但此配置可能会更改。标记类的最简单方法可能是为您生成的任何类实现接口。