java反射
面汤放盐
这个作者很懒,什么都没留下…
展开
-
反射入门基础
一、反射基础1.1 获取Class的多种方式 方式 描述 static Class< ? >forName(String className) 使用Class的一些静态方法,还有其他的重载方法 类.class 如果是类,则直接.class即可。这种方式最简单,也不会出现ClassNotFoundException等异常 对象.g...原创 2018-05-19 16:24:37 · 675 阅读 · 0 评论 -
动态编译基础
一、动态编译介绍 JAVA 6.0引入了动态编译机制。1.1动态编译的应用场景可以做一个浏览器端编写 java 代码,上传服务器编译和运行的在线评测系统。服务器动态加载某些类文件进行编译1.2 实现方式动态编译的两种做法:1.2.1 通过 Runtime 调用javac ,启动新的进程去操作(java6.0之前的使用)Runtime run = ...原创 2018-05-19 21:13:05 · 251 阅读 · 0 评论 -
java动态代理
关键接口描述Proxy 提供了用于创建动态代理类和代理对象的静态方法,它也是所有动态代理类的父类。 接口 描述 static Class<?> getProxyClass(ClassLoader loader, Class<?&am原创 2018-05-22 20:42:28 · 178 阅读 · 0 评论 -
静态代理
一、静态代理1. 1 作用通过代理控制对对象的访问AOP 的核心实现机制1.2 代理模式 角色 描述 抽象角色 定义代理角色和真实角色的公共对外方法 真实角色 实现抽象角色,定义真实角色所要实现的业务逻辑,供代理角色调用; 关注真正的业务逻辑 代理角色 实现抽象角色,是真实角色的代理,通过真实角色的业务逻辑方法来实现抽象方...原创 2018-05-22 20:41:59 · 340 阅读 · 0 评论 -
CGLIB代理
CGLIB动态代理 Cglib代理,也叫做子类代理。<在内存中构建一个子类对象从而实现对目标对象功能的扩展JDK的动态代理有一个限制,就是使用动态代理的对象必须实现一个或多个接口。如果想代理没有实现接口的类,就可以使用CGLIB实现。 CGLIB是一个强大的高性能的代码生成包,它可以在运行期扩展Java类与实现Java接口。它广泛的被许多AOP的框架使用,例如Spring ...原创 2018-05-22 20:46:37 · 252 阅读 · 0 评论 -
字节码操作类库--javassist扫盲
一、java常见的字节码操作类库 字节码类库 描述 BCEL Byte Code Engineering Library (BCEL) ,这是 Apache Software Foundation 的 Jakarta 项目的一部分。 BCEL 是 Java classworking 广泛 使用的一种 框架 , 它 可以让您深入 JVM 汇编语言进行类操作的细节。 BC...原创 2018-05-23 21:08:10 · 350 阅读 · 0 评论