A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© waylent 中级黑马   /  2015-4-13 11:54  /  531 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

反射的原理是什么?
(不是说反射API怎么用,而是反射API访问了内存中的什么对象的什么成员,这个对象又是从哪里来的?)
(还是说反射API是直接访问的方法区,直接就读出来了?)
(反射和累加器有什么关系?)

2 个回复

倒序浏览
反射api访问的是字节码对象(Class类的实例)。这对象是类被加载时由类加载器创建的。类的加载就是把class文件中的内容进行解析并把相关信息存在方法区。class文件中包含了成员变量、方法、构造函数的信息,所以你拿到Class类的对象也就能够访问到成员变量、方法、构造函数了
回复 使用道具 举报
反射的原理是RTTI,运行时类型识别,通过JVMapi来运行时获取类的信息,组装实例或进行修改,java1.5的Instrumentation甚至可以运行时修改类的实现(即bytecode)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马