Android11/28每日一题:retrofit中使用jdk动态代理实现,那jdk中动态代理的实现原理是?

参考答案:jdk动态代理只能代理接口,类似于编写一个接口实现类,其构造方法接收InvocationHandler参数,InvocationHandler相当于回调接口,在这个类中的接口方法实现中执行InvocationHandler的invoke方法回调出去。

与直接编写代码不同的是,这个接口的实现类是由jvm在运行期间动态生成的。在加载一个类时,类的数据是由读取class文件到内存中而来,动态代理直接就在内存中生成一份class的数据。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容