java超乱,栈和常量池,字符串池,堆都是啥关系啊?乱成一锅粥了

 我来答
xsq2529562
2012-10-08 · 超过12用户采纳过TA的回答
知道答主
回答量:35
采纳率:0%
帮助的人:21.8万
展开全部
java里的堆栈,常量池,用图形来表示的话会好理解下,不过不会上传图片,就简单的用文字描述下,希望能帮助你理解.
首先,java里new出来的对象都会存放在堆里.栈里可以存放对这些对象的指针的引用.
例如: A a=new A();
这里new出来的A对象会被存放在堆中,而 a呢.会被存放到栈里,并且保存了对A这个对象引用的地址.
栈的存放顺序是后进先出,如果你接触过数据结构的课程的话,这个并不难理解.
至于字符串池,是用来存放一些字符和栈和堆的关系,我们只需要这么理解,当我们创建一个字符串时,java会先在字符串池里寻找有没有你要创建的字符串.
例如: String a="你好";
先寻找字符串池里有没有 "你好" 这个字符串,如果存在,就不会在堆中再创建.
如果不存在,就会在堆中创建 "你好" 这个字符串 并在栈中生成 a保存对其的地址引用 然后还会将新创建的字符串"你好" 保存到字符串池中.
希望对楼主有帮助
追问
汗,你能画好图后发到我邮箱吗?直接上传附件发给我就可以,我邮箱:731002322@qq.com
追答
已经发过去了
arongustc
科技发烧友

2012-10-07 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:5776万
展开全部
你说的这些都是数据结构,都和java没有任何直接关系。他们之间也没有什么关系。
追问
大关系啊,一些逻辑上的BUG才好解决
追答
这些和java真没有关系,彼此也没有什么关系。建议你学完java编程和数据结构两门课之后再回头看,不要急着做题目
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式