社区
Java SE
帖子详情
堆的内存和栈的内存游什么不同???
apple21
2005-05-07 03:38:54
堆的内存和栈的内存游什么不同???
...全文
148
6
打赏
收藏
堆的内存和栈的内存游什么不同???
堆的内存和栈的内存游什么不同???
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wanghongtaoleifeng
2005-05-07
打赏
举报
回复
想起一句话:方法入stack 对象动态在heap
007remember
2005-05-07
打赏
举报
回复
栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆.栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,详见第3点。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集器会自动收走这些不再使用的数据。但缺点是,由于要在运行时动态分配内存,存取速度较慢。
edward0716
2005-05-07
打赏
举报
回复
学习了
ycybom
2005-05-07
打赏
举报
回复
栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。
堆,就是那些由new分配的内存块,他们的释放在c++和c中是程序员的职责,如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。在java中是JVM的职责,由垃圾收集机制负责回收。
据个例子:void f() { int* p=new int[5]; } 一句话就包含了堆与栈:汇编代码可以看到他们的不同:
00401028 push 14h
0040102A call operator new (00401060)
0040102F add esp,4
00401032 mov dword ptr [ebp-8],eax
00401035 mov eax,dword ptr [ebp-8]
00401038 mov dword ptr [ebp-4],eax
kaleon
2005-05-07
打赏
举报
回复
Java的堆是一个运行时数据区,类的实例(对象)从中分配空间,它的管理是由垃圾回收来负责的:不给程序员显式释放对象的能力。Java不规定具体使用的垃圾回收算法,可以根据系统的需求使用各种各样的算法。
kingfish
2005-05-07
打赏
举报
回复
都是存储空间,JVM做了区分而已。
每个JVM有1个堆,多个线程共享:存放类实例、数组。
每个线程启动时JVM会分配1个栈给它:存放线程状态
02、jvm(21题)1
1. PC寄存器: 2. 方法区: 3.
堆
: 4.
栈
: 1. 每一个线程有一个工作
内存
,和主存独立 2. 工作
内存
存放主存中变量的值的拷贝 3. 对于普通变
java的
栈
区
堆
区存放什么_简单整理java中的
栈
内存
,
堆
内存
是什么?
Java把
内存
划分成两种:一种是
栈
内存
,一种是
堆
内存
。这里需要解释一下, 这里的
堆
内存
是跟数据结构的
堆
是完全两码事。一、
栈
内存
存放基本类型的变量,以及对象的引用值和函数主体,遵循先入后出的原则。
栈
内存
在函数...
C++第3课:C++
内存
泄露检测原理及案例实战
本课程具体的内容主要包括C++
内存
泄露案例、VS2015
内存
泄露检测、野指针、VirtualAlloc/HeapAlloc/malloc/new的区别、C++
堆
和
栈
的
内存
管理、
栈
简介、
堆
简介、
堆
与
栈
区别、
栈
的
内存
分配、Windows的虚拟
内存
技术、...
heap和stack区别Java_Java中
堆
内存
(heap)和
栈
内存
(stack)的区别
在Java代码中,常常会使用到这样的类的声明实例化:Person per = new Person();//这其实是包含了两个步骤,声明和实例化Person per = null; //声明一个名为Person类的对象...它们在
内存
中的划分是这样的:那什么是
栈
...
C/C++
堆
和
栈
的区别
堆
和
栈
的区别 1. 管理方式
不同
栈
,由编译器自动管理,无需程序员手工控制;
堆
:产生和释放由程序员控制。 2. 空间大小
不同
栈
的空间有限;
堆
内存
可以达到4G,。 3. 能否产生碎片
不同
栈
不会产生碎片,因为...
Java SE
62,614
社区成员
307,326
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章