我们有一个大类(100 多个方法),它有一个用延迟加载指南注释的接口。最初加载此对象并将其发送到客户端时,我们会对最常用和最近的数据进行有限加载。我们目前正在使用 java Proxying 来嗅探每个调用。在每次调用时,我们都会检查“我们有数据吗?如果有日期参数,我们是否加载了该日期的数据?” 如果这些问题的答案是否定的,我们将返回服务器并加载完整的对象。
然而,这是可行的,Java 反射、代理和调用(getId()
例如基本 getter)的额外开销会对我们的某些代码的性能造成严重破坏。
我想开始使用 byte buddy 来减少调用成本,尤其是在总是加载的简单字段上。
解决这个问题的最佳方法是什么?
此外,因为这个对象正在被序列化(Java 序列化,服务器生成这些对象并将它们交给客户端),确保这些动态创建的类可以通过网络从服务器传递到客户端的正确方法是什么?