java的类在刚定义好还没有new的时候它在内存中存放在什么地方

2025-02-24 02:28:23
推荐回答(5个)
回答1:

关于new 出来的问题,楼上的都回答了.那么java的类定义完了之后在哪里呢.当然在一般的存储介质上啦.就是硬盘上.在没有被相关代码加载之前它一直就在那里待着.
现在有这么些情况,你要new一个新的对象.
这个时候JVM会把你那个类的class加载到内存当中.加载完了.JVM会看你的代码有没有错.没有错的话.JAVA的解释器就会去一行行的读你的代码.当然,这个时候读的代码是声明属性和构造函数等代码.这个时候他通过你的声明属性代码和构造函数就可以知道给你分配多少内存空间,并且也知道给他们初始值.
这个是普通情况,有静态属性的情况又不一样.

回答2:

对象的引用是保存在栈内存的,用new是在JVM的堆内存上为类的一个对象开辟空间,具体分配大小是根据属性值默认分配的大小,如int占4字节,只会为属性分配空间,不为方法分配空间,如:声明:int age;没实例化时,不会分配任何空间,在用new实例化是为引用age在栈内存和4在堆内存分配相应的空间

回答3:

还没有new的时候,还没有分配内存给它

楼主多虑了,因为你定义类的时候,是有一些基本类型或者你定义的类对象构成,他们在内存中都是有空间大小的,如int就是4个字节的。所以new的时候,是可以计算出你的类需要的存储空间大小的

回答4:

一个类当你没有new的时候,也就是说并没有在内存中分配地址,所以你说的情况,内存中根本没有。

回答5:

没有放在内存里的,只有当你new之后才会在内存分配空间的。