使用cglib更改字段值

时间:2017-04-14 15:03:01

标签: java reflection cglib

假设我们有类field的对象java.lang.reflect.Field。可以通过o1将对象o2的该字段的值更改为field.set(o1, o2)的字段的值。我想知道是否可以借助某些库更快地完成它,例如cglib?

1 个答案:

答案 0 :(得分:0)

不,JVM实现了一个JIT编译器,它使99.1%的情况下的字节代码生成过时。在反射的情况下,人们有时会使用代码生成来避免反射API所暗示的安全检查。而不是那样,你应该研究MethodHandle,它将这个安全检查移动到句柄创建,这样就不会在每次调用时触发它。

相关问题