日期:2014-05-20  浏览次数:20643 次

[请教]类与对象-你们在哪里?
在对一个类进行实例化的时候,这个类是从放在那里?实例化的时候这个对象放在那里?
如果都是放在内存的某个位置的话,CPU怎样寻找这些位置,怎样区分类与对象?当实例化多个对象的时候这些信息放在那里?
计算机中声明一个类,进行编译的时候不同的类之间的联系是怎样建立的?

非常非常感谢高手们指导一下。

------解决方案--------------------
有点忘记了 ...
类好像放在堆里 对象在栈中
建议楼主看看 Java虚拟机 这本书
------解决方案--------------------
反射还没学吧?看看ClassLoader相关的资料就明白了
------解决方案--------------------
基本数据类型和类的引用都放在栈里面 对象放在堆里面 你可以看看java虚拟机或者java编程思想
------解决方案--------------------
类在堆里,对象可能在堆里也可能在栈里,看对象的作用域。

所有数据最终都存在物理内存中,但为了管理方便,物理内存由操作系统管理,java虚拟机使用的内存由java虚拟机管理。中间各自负责。 最后的情况是:java字节码告诉jvm要找哪个数据的地址,jvm虚拟机再告诉操作系统要找片内存,操作系统进行具体执行。

类包含的是对这个类的各种特征的描述,对象是根据这个描述分配内存。比如政府 和 XX市政府。 一个抽象,一个具体。

实例化多个对象,和实例化一个对象是一样的情况,有的在堆,有的在栈。



------解决方案--------------------

类只是一段静态的代码而已,在code segment中,
当你实例化时,遍生成了对象,而这个对象放在heap中,也就是堆中
没听说过把类放在内存中的,
LS纯属误导