JVM中的stack和heap与数据结构中所说的stack和heap是一个概念吗

slmvpvip 2010-02-27 06:28:48
如题,数据结构中所说的stack和heap的实现方法与特性我还算了解。

请问JVM中的stack和heap的实现方法与特性和普通的数据结构一样吗。

谢~~
...全文
221 6 打赏 收藏 转发到动态 举报
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wfeng007 2010-02-27
  • 打赏
  • 举报
回复
我就接个分吧

概念上肯定是一致的。只是实现层次不同。。。实现方式上肯定比一般的实现要复杂点,只是对外的操作肯定一致。。。
上面都说了了。。


JavaAlpha 2010-02-27
  • 打赏
  • 举报
回复
引用 1 楼 zhouyongyang621 的回复:
堆区:
1.存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令)
2.jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身
栈区:
1.每个线程包含一个栈区,栈中只保存基础数据类型的对象和自定义对象的引用(不是对象),对象都存放在堆区中
2.每个栈中的数据(原始类型和对象引用)都是私有的,其他栈不能访问。
3.栈分为3个部分:基本类型变量区、执行环境上下文、操作指令区(存放操作指令)。


一楼在 正解了
梦_枫 2010-02-27
  • 打赏
  • 举报
回复
JVM中的stack和heap的实现方法与特性和普通的数据结构是一样
梦_枫 2010-02-27
  • 打赏
  • 举报
回复
堆区:
1.存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令)
2.jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身
栈区:
1.每个线程包含一个栈区,栈中只保存基础数据类型的对象和自定义对象的引用(不是对象),对象都存放在堆区中
2.每个栈中的数据(原始类型和对象引用)都是私有的,其他栈不能访问。
3.栈分为3个部分:基本类型变量区、执行环境上下文、操作指令区(存放操作指令)。
chen09 2010-02-27
  • 打赏
  • 举报
回复
概念和要实现的目的都是和数据结构里面讲的是一样的。
stack还好说点,也就是先进后出,变例不多。

但是堆的话,要说的东西就太多了。数据结构里面,我还能记住名字的就有很多:比方说,2-3 heap,Beap,Binary heap,Binomial heap,D-ary heap,Fibonacci heap,Leftist heap,Pairing heap,Skew heap,Soft heap,Ternary heap, Treap,等等等等。
每种都有自己的优缺点:有的插入快,也就是new一个实例时快;有的是删除快,那么System.gc()时快。
实在不知道sun的jre的内存堆是用上面哪个数据结构来实现的。
pauliuyou 2010-02-27
  • 打赏
  • 举报
回复
不完全是一个概念,一个是真实的实现,人为地划分内存,另一个是一种数据结构,表达是一种思路
相关推荐

62,567

社区成员

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