黑马程序员技术交流社区
标题:
学习反射的一个疑惑
[打印本页]
作者:
魏兴发
时间:
2011-11-5 10:13
标题:
学习反射的一个疑惑
当我们使用某个类时,会将该类的字节码文件缓存到内存中,这个字节码存在内存的什么位置啊?堆内存?栈内存……???
作者:
魏兴发
时间:
2011-11-5 10:28
自己先顶一下啦!!!!
作者:
成杰
时间:
2011-11-5 10:33
本帖最后由 成杰 于 2011-11-5 10:35 编辑
类的字节码文件被加载到内存,指的是 内容以字节的形式存入内存中
栈内存中存放得时基本变量和局部变量
堆内存中存放的是引用类型的和静态变量
作者:
李建雄
时间:
2011-11-5 12:11
首先,java在内存开辟分区为:栈内存,堆内存,方法区,还有一个区我不知名字,(知道的,请分享)
这是我个人的猜测:肯定有很多不对或不知道,愿指证!
类加载器将.class文件加载到了方法区中, 其存在形式是字节码, 称为一个对象:字节码文件对象,
在方法区中字节码对象又被分区存放了: 静态变量和静态方法存在方法区的静态区,普通方法存在方法区的变通方法区,对于其他成员变量可能还有相关的区存放
下面对了解的一点运行过程也分析一下,指正:
当程序运行到方法时或普通成员变量时,就会将方法区中的方法或成员变量加载到栈内存,
当栈内存在的方法运行到new一个对象时,方法区中的字节码对象被new(加载)一个到堆内存,方法区中的方法或变量运行过后在栈内存被释放,
如果上面的完全不对,也有可能是栈内存,堆内存,方法区之外的另外一个区,存放了字节码对象
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2