如何检查对象是否由字节好友创建



我使用以下代码创建一个源对象实例

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();

当我分析源对象时,我如何判断是否由字节好友创建?是实现的任何标记接口还是类似的东西?生成的对象的实际类类似于Source$ByteBuddy$HFuwCkIQ谢谢!

Byte Buddy 不会在其生成的代码中留下任何痕迹,除非您将此类跟踪放入生成的类中。默认情况下,在创建子类时,Byte Buddy 的默认命名策略会将$ByteBuddy$添加到子类的名称中,但此配置可能会更改。标记类的最简单方法可能是为您生成的任何类实现接口。

最新更新