java对象在内存中存储的问题。

请问java中new一个对象后,它的那些成员函数以及属性在内存中怎样存储的,比如堆,栈,还有一些常量存储区域,静态方法以及静态属性等等,求热心高手。... 请问java中new一个对象后,它的那些成员函数以及属性在内存中怎样存储的,比如堆,栈,还有一些常量存储区域,静态方法以及静态属性等等,求热心高手。 展开
 我来答
silk__bar
2013-05-17 · TA获得超过103个赞
知道答主
回答量:149
采纳率:0%
帮助的人:57.4万
展开全部
栈里面就是放new出的对象的地址以及放那几个基本类型。堆里面就是放的你new出来的对象。另外还有个数据池,里面放的就是你弄出来的字符串,一个字符串只存在于内存中一份,就是搁在这池子里的。就比如你弄个String str1="abc";String str2="abc"; str1==str2;是TRUE
俗富栋H
2013-05-17
知道答主
回答量:59
采纳率:0%
帮助的人:27.2万
展开全部
new出来的对象只有在执行时,会开辟一块内存存储属性!静态的方法,属性,变量,在程序加载的时候就会事先开辟一块区域存储。堆栈主要是用于程序的递归等
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
monical2
推荐于2016-02-19 · TA获得超过772个赞
知道小有建树答主
回答量:730
采纳率:60%
帮助的人:395万
展开全部
stack 区存放函数参数和局部变量;
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时存放类中的方法.
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式