[请教]类与对象-你们在哪里?
在对一个类进行实例化的时候,这个类是从放在那里?实例化的时候这个对象放在那里?
如果都是放在内存的某个位置的话,CPU怎样寻找这些位置,怎样区分类与对象?当实例化多个对象的时候这些信息放在那里?
计算机中声明一个类,进行编译的时候不同的类之间的联系是怎样建立的?
非常非常感谢高手们指导一下。
------解决方案--------------------有点忘记了 ...
类好像放在堆里 对象在栈中
建议楼主看看 Java虚拟机 这本书
------解决方案--------------------反射还没学吧?看看ClassLoader相关的资料就明白了
------解决方案--------------------基本数据类型和类的引用都放在栈里面 对象放在堆里面 你可以看看java虚拟机或者java编程思想
------解决方案--------------------
类在堆里,对象可能在堆里也可能在栈里,看对象的作用域。
所有数据最终都存在物理内存中,但为了管理方便,物理内存由操作系统管理,java虚拟机使用的内存由java虚拟机管理。中间各自负责。 最后的情况是:java字节码告诉jvm要找哪个数据的地址,jvm虚拟机再告诉操作系统要找片内存,操作系统进行具体执行。
类包含的是对这个类的各种特征的描述,对象是根据这个描述分配内存。比如政府 和 XX市政府。 一个抽象,一个具体。
实例化多个对象,和实例化一个对象是一样的情况,有的在堆,有的在栈。
------解决方案--------------------额
类只是一段静态的代码而已,在code segment中,
当你实例化时,遍生成了对象,而这个对象放在heap中,也就是堆中
没听说过把类放在内存中的,
LS纯属误导