java对象在内存中存储的问题。
请问java中new一个对象后,它的那些成员函数以及属性在内存中怎样存储的,比如堆,栈,还有一些常量存储区域,静态方法以及静态属性等等,求热心高手。...
请问java中new一个对象后,它的那些成员函数以及属性在内存中怎样存储的,比如堆,栈,还有一些常量存储区域,静态方法以及静态属性等等,求热心高手。
展开
3个回答
展开全部
new出来的对象只有在执行时,会开辟一块内存存储属性!静态的方法,属性,变量,在程序加载的时候就会事先开辟一块区域存储。堆栈主要是用于程序的递归等
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
stack 区存放函数参数和局部变量;
heap 区存放对象;
data 区存放static 的变量或者字符串常量;
code 区存放类中的方法;
heap 区存放对象;
data 区存放static 的变量或者字符串常量;
code 区存放类中的方法;
追问
请写详细点儿,小白在此谢过了。
追答
stack 栈 -->放方法的参数 和局部变量.就像这样
-----------
void test(String[] args){
int xx = 0;// args和 xx在jvm load class时存放在栈中
}
heap 堆 --> 堆要比栈要大得多. 当一个对象对new出来时,该对象放在heap中,对象引用放在栈中.
data区,也就是数据区 -->静态的变量 和 string的常量.
code 代码区 --->classloader类加载器加载该class时存放类中的方法.
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询