JAVA 堆和栈

来源:互联网 发布:电脑网络连接在哪里找 编辑:程序博客网 时间:2024/04/26 05:50

自己所理解的 堆和栈 如果有出入,欢迎指出

概括:堆内存 用来存放 new 创建的对象和数组,栈内存 存放的则是这些对象的引用变量和基础类型变量。

堆区:

jvm只有一个堆区被所有的线程共享,堆中只存放对象本身(不包含基本类型和对象引用),每个对象都包含与之对应的class的信息(操作指令)。

栈区:

每个线程都有一个栈区,栈中只存放对象引用和基本类型的对象(对象本身存在堆中),每个栈中的数据都是私有的,其它栈不能访问。

方法区:

又叫静态区,和堆一样被所有线程共享,包含所有的class和static变量。

总结:栈内存中的变量指向堆内存中的对象,类似指针的概念

0 0
原创粉丝点击