JVM的Proxy.newProxyInstance原理分析

大致的原理

  • 1.校验我们的要实现的接口还有我们的invocationHandler
  • 2.根据我们的接口生成字节数组,然后将该字节数组交给classloader底层的defindClass(native方法)生成一个新的class文件。

总结:就是生成一个class文件 该class文件中主要修改继承的接口的地方,以及相应的常量池等等。

相应的CGLIB的原理也是类似,主要都是复制一个类的class文件(字节数组),然后修改一些属性,比如class名称等等。

你可能感兴趣的:(JVM的Proxy.newProxyInstance原理分析)