微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

可以使ByteBuddy静态引用持久化吗?

如何解决可以使ByteBuddy静态引用持久化吗?

ByteBuddy提供了一种功能,该功能定义了一个引用了另一个对象的类(请参见the MethodCall#withReference() method)。很好,很方便。我的问题是关于此参考文献的性质。

我不好意思这么说,但是我意识到我一直在假设存储在此静态字段中的引用将是持久性的。也就是说,如果我设置ByteBuddy使其使用可预测的类名,然后在以后从其他VM加载它们,我一直假设withReference调用中传递的任何内容都将被……序列化?储存?某种程度上来说。看来不是。

(我猜测(尚未研究)LoadedTypeInitializer可能甚至通过反射被调用,以使用对内存中已经存在的某些其他字节码的简单引用来填充此字段,即我猜该引用是一个简单的指针,在VM退出后仍然悬空。)

我的问题是:ByteBuddy API很大,所以我经常发现我缺少一些东西- ByteBuddy中是否有设施可以让我持久存储对另一个对象的引用?还是我必须使用序列化或类似方法自己滚动?

解决方法

啊;我发现ByteBuddy support for dynamic constants可以为我提供大部分所需的东西。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。