JAVA构造器,动态代理以及javassist

类的加载过程

首先java内存由堆(存放类的对象线程共享),栈(存放变量,类的引用),方法区(实例化的class类),所以class无法主动创建。

  • 先对文件格式进行验证,检测有没有不被支持的常量,代码不规范。
  • 验证类有没有被一些final之类的修饰符修饰,验证不合理的重载。
  • 对字节码的验证,类型转换的合理性。
  • 符号引用的验证,通过引用能否找到对应的类
  • 准备阶段,为变量分配内存,并赋予初值。

类加载器的种类

image

类加载器中的方法

image

java动态代理

image

CGLIB

image
image

javassist动态编程

image
image
image

posted @ 2022-07-28 06:24  猫鳍  阅读(49)  评论(0)    收藏  举报