Java的堆与栈有什么区别?

wtjd 2005-12-10 02:09:30
还有,Java程序时是不是只占有一个进程,以及Java的内存的结构是什么样的?
...全文
439 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
老码不识途 2005-12-12
  • 打赏
  • 举报
回复
对象都在堆上分配空间,值类型的,是在栈上分配的。
如:Int String Char等在栈上分配。类的实例是在堆上分配的。
你清理时,是清理堆上的内存空间,栈上的不用你管。
sun_104 2005-12-11
  • 打赏
  • 举报
回复
All object use heap memory and not statck memory in java programming.
wtjd 2005-12-10
  • 打赏
  • 举报
回复
有没有更详细的资料
wtjd 2005-12-10
  • 打赏
  • 举报
回复
谢谢楼上的,
gwsoft 2005-12-10
  • 打赏
  • 举报
回复
我只知道JAVA的堆与栈的一些区别,希望对你有所班住.
1.最重要的,堆内存是用来存放由new创建的对象和数组.而栈由存是用来放一些基本的数据类型和对象的引用,变量.
2.当一段代码块定义一个变量时,JAVA就在栈中为这个变量分配相应的内存空间,当超过变量作用域后JAVA会自动释放掉为该变量分配的内存.而在堆中分配的内存需要由JAVA的虚拟机的自动垃圾回收器来管理,只有当内存不够时,垃圾回收器才来回收没有用的对象所占用的内存.
3.java的引用其实就是一个没有大小的指针.
rcom10002 2005-12-10
  • 打赏
  • 举报
回复
http://www.witscale.com/scjp_studynotes/chapter2.html
rcom10002 2005-12-10
  • 打赏
  • 举报
回复
http://www.cis.nctu.edu.tw/~gis91610/scjp/gc.html

62,629

社区成员

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

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