堆栈有什么区别呢?

欣喜 Java每日一问 发布时间:2024-07-24 16:58:12 阅读数:18500 1
下文笔者讲述堆栈的区别说明,如下所示
 
物理地址 物理地址分配是不连续的,因此性能慢些。
在GC的时候需要考虑到不连续的分配,所以有各种垃圾回收算法。
栈使用的是数据结构中的栈,具有先进后出的规则,
物理地址分配是连续的,因此性能快
分配内存时机 堆因为是不连续的,所以分配的内存是在运行期确认的,
因此大小不固定。一般堆大小远远大于栈。
栈是连续的,所以分配的内存大小要在编译期就确认,大小是固定的
存放的内容 堆存放的是对象的实例和数组。
此区域更关注的是数据的存储
栈存放:局部变量,操作数栈,返回结
此区域更关注的是程序方法的执行
程序的可见度 堆对于整个应用程序都是共享的、可见的 栈对当前线程是可见的,是线程私有。
他的生命周期和线程相同
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaProblem/202407/8147.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者