proxy和no-proxy的策略取值的区别
Child <- many-to-one ->Parent
class Child { private Parent parent; public Parent getParent (){ return this.parent;//访问了实例变量 } }
class Parent { private String name; public String getName(){ return this.name;//访问了实例变量 } public void f(){ System.out.println("invokeing f()");//没有访问实例变量 } }
如果 many-to-one 的lazy设为proxy,当child.getParent().getName()或child.getParent().f()时,parent都 会被抓取,若设为no-proxy,调用child.getParent().f()时,parent是不会被抓取的,同时这种方式需要编译时字节码增 强,否则和proxy没区别