java 栈 和 堆 的区别

1、java栈

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

2、堆

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

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

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

相关文章
相关标签/搜索