【发布时间】:2012-03-02 17:42:47
【问题描述】:
我有一个代表客户端加载任意类实例的框架,并且希望字段(特别是私有字段)仅在首次访问字段时才延迟初始化/加载。
有没有办法在返回值之前拦截此类私有字段访问并将值注入字段(也可能“缓存”它们)?
我猜 java.lang.reflect.Proxy/InvocationHandler 被排除在外,因为它们只能拦截方法调用。
我有一种直觉,字节码操作库可以处理这个问题。我查看了 ASM、Javassist、BCEL、cglib 并四处搜索,但没有找到任何关于如何实现这一目标的明确说明。
【问题讨论】:
标签: java reflection bytecode