码迷,mamicode.com
首页 > 编程语言 > 详细

java 栈 和 堆 的区别

时间:2015-08-27 19:28:02      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:

一、java栈

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

二、堆

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

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

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

java 栈 和 堆 的区别

标签:

原文地址:http://my.oschina.net/lavedream/blog/498220

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!