java 栈 和 堆 的区别
博客专区 > @ccny 的博客 > 博客详情
java 栈 和 堆 的区别
@ccny 发表于2年前
java 栈 和 堆 的区别
  • 发表于 2年前
  • 阅读 328
  • 收藏 12
  • 点赞 0
  • 评论 0

腾讯云实验室 1小时搭建人工智能应用,让技术更容易入门 免费体验 >>>   

摘要: java 栈 和 堆 的区别

一、java栈

    Java 栈总是和线程关联在一起,每当创建一个线程时,JVM就会为这个线程创建一个对应的Java栈,在这个Java栈中又会含有多个栈(Frames),这些栈帧是与每个方法关联起来的,每个运行一个方法就创建一个栈帧会含有一些“内部变量"(在方法内定义的变量)、"操作栈"和"方法返回值"等信息。

二、堆

    堆是存储Java 对象的地方,它是JVM管理 Java 对象的核心存储区域,堆是 Java 程序员最应该关心的,因为它是我们的应用程度与内存关系最密切的存储区域。

    每一个存储在堆中的Java 对象都会是这个对象的类的副本,它会复制包括继承自它父类的所有非静态属性。

    堆是被所有 Java 线程所共享的,所以对它的访问需要注意同步问题,方法和对应的属性都需要保证一致性。

标签: java栈
共有 人打赏支持
@ccny
粉丝 13
博文 89
码字总数 23691
×
@ccny
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: