Java中的堆内存和栈内存个人见解
来源:互联网 发布:淘宝客后台管理系统 编辑:程序博客网 时间:2024/05/26 09:54
首先,所谓的Java的堆内存和栈内存在Java虚拟机规范中是不存在。
在Java虚拟机规范中,运行时数据区由程序计数器(PC寄存器)、Java虚拟机栈、Java堆、方法区、本地方法区五大部分组成。运行时常量池是在方法区中分配,所以不是六大部分。
那为什么会有堆内存和栈内存这样的说法呢?
1. 栈内存:在《Java虚拟机规范》第一版中,Java虚拟机栈也称为“Java栈”。可能是翻译或者是部分人的说法流传导致了出现栈内存的说法吧。如果一定要说栈内存,请记住栈内存其实就是指Java的虚拟机栈。
2. 堆内存:由于以前大家多数是使用sun(现在被Oracle收购)的HotSpot JVM,而在HotSpot JVM中可以像管理Java堆那样管理方法区的永久代内存,而且也有可能是把Java堆误解成堆内存了,但是实际上堆内存其实是指Java堆和方法区。
本文主要是针对了JDK1.7h和HotSpot JVM去解析,所以没有提到JDK1.8的元空间(Metaspace),同时参考了以下书籍:
《Java虚拟机规范 Java SE 7版 》
《深入理解Java虚拟机 JVM高级特性与最佳实践》
阅读全文
0 0
- Java中的堆内存和栈内存个人见解
- Java中的栈内存和堆内存
- JAVA中的栈内存和堆内存
- java中的栈内存和堆内存
- Java中的堆内存和栈内存
- java中的栈内存和堆内存
- Java中的栈内存和堆内存
- java中的栈内存和堆内存
- Java中的堆内存和栈内存
- JAVA中的堆内存和栈内存
- java中的内存分配 堆和栈
- JAVA虚拟机中的内存:栈和堆
- java内存中的栈和堆
- 浅谈java内存中的堆和栈
- 如何理解java中的堆内存和栈内存
- java中的堆内存和栈内存详解
- java中的堆内存和栈内存小结
- 浅谈java中的堆内存和栈内存
- 学习笔记5
- HDU6124 Euler theorem 签到
- C++对象的动态建立与释放详解(new和delete)
- 顺序表-查
- 数据结构实验之查找四:二分查找
- Java中的堆内存和栈内存个人见解
- Squid配置代理访问(rhel7.2)
- java原地归并排序(inplace)
- 好久没来CSDN了..
- Java反射机制
- hdu 4540 威威猫系列故事——打地鼠
- 给初学者的RxJava2.0教程(四)
- 中断线程
- Hive metastore三种配置方式