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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马-胡占朝 黑马帝   /  2011-7-21 01:47  /  2086 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

java反射中的Class类得到的字节码是内存中的地址吗?

5 个回复

倒序浏览
黑马网友  发表于 2011-7-21 01:51:55
沙发
字节码是class文件加载到内存中的形式,在内存中以字节码的形式存在。字节码存在于内存的一块区域中。
回复 使用道具 举报
字节码应该是类在硬盘上存在的一种形式,是java编译后的,可以由java虚拟机加载运行的代码,就相当于二进制可以被普通机器识别一样。java的字节码也是以二进制,但只能被类加载器加载,不能直接在机器上运行
回复 使用道具 举报
黑马网友  发表于 2011-7-21 08:11:10
板凳
不可以等同的,类产生的字节码保存该类的所有信息。另外字节码不只针对于类,所有的程序代码都会产生字节码的,字节码和机器码很象似,但机器码可以直接运行而字节码需要java需拟机的支持。
回复 使用道具 举报
Class c = String.class; 
c中存储的是对字节码对象的引用,而不是指向内存地址的指针
java里面没有指针.
指针是可以指向任意内存地址的,哪怕是程序的隐私部分,所以指针不安全.
引用是指向对象的,并且引用的类型一定和对象是兼容的
回复 使用道具 举报
这种问题太高深了
个人见解:
我认为运行时字节码文件要被读入内存,然后由解释器解释执行,所以对class的引用,应该是引用的内存中的
[ 本帖最后由 王玉玺 于 2011-07-21  13:27 编辑 ]
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马