
Java虚拟机
wlisonate
坚持手撸代码
展开
-
静态代理和动态代理(JDK动态代理和CGLib动态代理)简单实现,我菜谈不上深入理解
一 JDK和CGLIB动态代理原理 1、JDK动态代理 利用拦截器(拦截器必须实现InvocationHanlder)加上反射机制生成一个实现代理接口的匿名类, 在调用具体方法前调用InvokeHandler来处理。 2、CGLIB动态代理 利用ASM开源包,对代理对象类的class文件加载进来,通过修改其字节码生成子类来处理。 3、何时使用JDK还是CGLIB? 1)如果目标对象实现了接口,默认情况下会采用JDK的动态代理实现AOP。 2)如果目标对象实现了接口,可以强制使用CGLIB实现AOP。原创 2020-05-12 16:17:25 · 284 阅读 · 0 评论 -
【Java学习】Java反射机制以及实现简单框架(暴力反射)
Java反射机制:JAVA反射机制是在运行状态中,对于任意一个实体类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。 反射的好处: 1.可以在程序运行过程中,操作这些对象。 2.可以进行解耦,提高程序的扩展性。 Java代码在计算机中的三个阶段 1. Sources源代码阶段:*.java被编译成*.class字节码文件。 2.Class类对象阶段:*.clas...原创 2020-05-09 17:54:13 · 652 阅读 · 1 评论