Java反射实现原理
来源:互联网 发布:淘宝联盟定金 编辑:程序博客网 时间:2024/05/29 17:27
Java 反射
一.类加载器:寻找字节码文件并构造出类在JVM内部表示对象的组件。
JVM 会产生三个ClassLoader:
- 根加载器 c++编写,在Java中不存在,负责装载JRE的核心类库
- ExtClassLoader(扩展类装载器)负责装载JAR类包。
AppClassLoader(应用类装载器)负责装载Classpath路径下的类包。
ClassLoader->ExtClassLoader->AppClassLoader (继承关系)
.class 文件通过ClassLoader加载组件,在jvm中生成了一个Class(类描述对象)。所有的实例都拥有指向这个类描述对象的引用。类描述对象也有指向ClassLoader的引用。
反射:就是通过字节码文件,使用相应的类,成员变量,方法,注解等。
- constructor。类的构造函数反射类
- Method 。类的方法反射类
- Field.类的成员变量反射类
ClassLoader loader = Thread.currentThread().getContextClassLoader();//创建类加载器对象Class clazz = loader.loadClass("com.smart.reflect.PrivateCar");//装载对应的字节码文件,生成类描述对象PrivateCar car = (PrivateCar)Clazz.newInstance();//类描述对象,创建对应的实例。Field ColorFld = clazz.getDeclaredField("color");//类描述对象,获取对应的成员变量Method driveMtd = clazz.getdeclaredMethod("drive",(class[])null);//par1位方法名,par2为par1方法的入参类型列表。driveMtd.setAccessible(true);driveMtd.invoke(pcar,(object[])null)//par1为操作的目标对象,即car实例。par2为入参
详细方法参考class反射对象描述类。java.lang.reflect
自己手动敲入,可能有错,敬请谅解!
阅读全文
0 0
- Java反射实现原理
- java BeansUtil 反射原理实现
- java反射机制的实现原理 (一)
- java反射机制的实现原理
- java BeansUtil 反射原理实现2
- java反射机制的实现原理
- java反射机制的实现原理
- java反射机制的实现原理
- java反射机制的实现原理
- Java反射机制实现与原理
- 浅谈Java反射的实现原理
- java反射机制的实现原理 (二)安全性和反射
- 反射的实现原理
- java反射原理
- java反射机制原理
- java反射原理
- java反射的原理
- java反射原理
- socket模块的gethostbyaddr函数
- WeX5开发HTML5应用学习笔记:WeX5 404
- 如何同时更新数据库中所有表的相同字段
- UVA-10006 Carmichael Numbers
- hibernate延迟加载(get和load的区别)
- Java反射实现原理
- moss列表 查看字段长度
- 枚举的使用
- jQuery UI 中的 datepicker( )方法
- JAVA长连接demo(含心跳检测)
- myeclipse配置git提交项目步骤
- 深度学习与人脸识别系列(2)__基于VGGNet的人脸识别系统
- iOS启动页广告JYJAdViewController
- Android TextView内容包含中英文时满行居中,不足一行则左对齐,会出现左右空格不一致。