3.静态代理和动态代理的区别
按照代理的创建时期,代理类可以分为两种:
静态代理:由程序员创建代理类或特定工具自动生成源代码再对其编译。在程序运行前代理类的.class文件就已经存在了。
动态代理:动态代理是指在java程序运行过程(程序已经启动正在运行中)由jvm生成代理类的class信息,该class信息生成后是直接处于内存中的,并没有写入磁盘保存起来,然后通过反射方式实例化代理类对象.
因为代理类的class信息已经存在于内存中,所以可以通过反射方式实例化。
3.静态代理和动态代理的区别
按照代理的创建时期,代理类可以分为两种:
静态代理:由程序员创建代理类或特定工具自动生成源代码再对其编译。在程序运行前代理类的.class文件就已经存在了。
动态代理:动态代理是指在java程序运行过程(程序已经启动正在运行中)由jvm生成代理类的class信息,该class信息生成后是直接处于内存中的,并没有写入磁盘保存起来,然后通过反射方式实例化代理类对象.
因为代理类的class信息已经存在于内存中,所以可以通过反射方式实例化。