内存分配问题

不啃不舒服斯基 2009-10-29 05:52:23
许多人说:“运行时数据区分为pc寄存器、java虚拟机栈、堆、方法区、运行时常量池、本地方法栈共6个部分。”

另外,还常常听人说“代码区,数据区,堆内存,栈内存”,给菜鸟解释下,下边这句与上边是怎么对应或包含的?
...全文
213 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
robyjeffding 2009-11-05
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 dajiadebeibei9 的回复:]
临时变量保存在栈中
类对象保存保存在堆中
常量数据保存在数据区
[/Quote]
概括得很简练,基本上可以满足LZ的回答了
zhuyouyong 2009-11-04
  • 打赏
  • 举报
回复
说真的你说的这个我只是在开始学习Java的时候听过,但是到现在我还是弄的不是很懂!
dreamhyz 2009-11-04
  • 打赏
  • 举报
回复
打算看看JAVA优化编程...谢谢上面的朋友
flyinghawl 2009-11-04
  • 打赏
  • 举报
回复
顶上个月的帖子
  • 打赏
  • 举报
回复
我顶最后一次了
huangxinling1990 2009-10-30
  • 打赏
  • 举报
回复
顶一下。
  • 打赏
  • 举报
回复
谢谢楼上几位,再顶一下。。
joewa718 2009-10-30
  • 打赏
  • 举报
回复
PC寄存器 优点 是运行速度最快的。缺点 空间非常有限!

java虚拟机栈 这个是运行速度仅次于寄存器的存储空间。简称栈内存 主要存储对象的引用!

堆 也就是堆内存主要存储的是 用户创建的是的对象 比如new String("abc") 优点 空间较大,缺点 运行速度较慢!

方法区 就是代码区 存储用户的运行代码!

我知道的,大概就这么多吧
dajiadebeibei9 2009-10-30
  • 打赏
  • 举报
回复
临时变量保存在栈中
类对象保存保存在堆中
常量数据保存在数据区
feng_jyie 2009-10-30
  • 打赏
  • 举报
回复
mark
lz12366007 2009-10-30
  • 打赏
  • 举报
回复
帮顶下。。。
whut0802 2009-10-30
  • 打赏
  • 举报
回复
帮顶一下,自己也学习下
  • 打赏
  • 举报
回复
还是顶一下吧
苍蝇①号 2009-10-29
  • 打赏
  • 举报
回复
上一句属于jvm的范畴,下一句属于编译器、os的范畴,而jvm运行在os之上,所以最终要映射到代码区、数据段、堆、栈上面
amdgaming 2009-10-29
  • 打赏
  • 举报
回复
去看 虚拟机 jvm 可以获取到不少
  • 打赏
  • 举报
回复
谢谢楼上两位,希望回答人数还能再多点,顶一下
sxjkk 2009-10-29
  • 打赏
  • 举报
回复
推荐你看《JAVA优化编程》,有一章讲JAVA的内存管理,讲的比较详细
ZangXT 2009-10-29
  • 打赏
  • 举报
回复
[Quote=引用楼主 derline 的回复:]
许多人说:“运行时数据区分为pc寄存器、java虚拟机栈、堆、方法区、运行时常量池、本地方法栈共6个部分。”

另外,还常常听人说“代码区,数据区,堆内存,栈内存”,给菜鸟解释下,下边这句与上边是怎么对应或包含的?
[/Quote]
“运行时数据区分为pc寄存器、java虚拟机栈、堆、方法区、运行时常量池、本地方法栈共6个部分。”
严格的说,这个是最标准的,是jvm规范定义的。

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧