
点进去,调用Enhancor父类的静态代码块

继续往下走,调用Enhancer的静态代码块,创建EnhancerKey

点进去
点进去

点进去

点进去

走到ClassLoaderData类中的对应如下方法
这里式现将GET_KEY对应的函数式接口创建好,方便接下来执行ClassLoaderData方法创建LoadingCache时候要传进来的参数GET_KEY
点进去

由参数可以看出,LoadingCache存储着两个Function类型的函数式接口,一个是Generic所包含的key值,如上图。另一个是用来返回具体的Class对象。

get方法点进去

get方法点进去

一个个apply方法

点进createEntity
点进去

上图反悔了生成器Generator.退出这个方法

返回退出这个方法

返回退出这个方法

到这里KeyFactory对象实例化完成。
总由图可以看到这个代理对象里面的属性值都是默认值,如果想调用代理方法需要对这几个属性进行设置。
下面是创建自定义的代理对象的部分。把断点打到这

点进去

点进去,可以看到这个创建的代码和创建KeyFactory时的代码是一样的


点进去

点进去
点进去

apply方法点进去

点进createEntity

点进去

到此就生成了一个代理的Class文件,返回




点进去

到此代理对象就创建完成了。返回

返回

返回

接下来看一下myCaculate.add方法的实现

点进去

点进去

1100

被折叠的 条评论
为什么被折叠?



