Java虚拟机内存管理 数组为例
2017-08-17 15:56
309 查看
Java虚拟机对自己的内存区域分为五部分:
【1】寄存器:内存和CPU之间的交流。
【2】本地方法栈:jvm调用操作系统功能在这块内存来执行。
【3】方法和数据共享区:运行时期 编译之后生成的class文件进入的地方
【4】方法栈:所有方法运行时进入的内存
【5】堆:存储的是容器以及对象
例:
上段代码运行所发生的事情:
1、编译生成的.class文件进入方法和数据共享区;
2、main方法压入方法栈运行
3、new int 在堆中开辟一块连续内存,将内存首地址返回给arr
二维数组和一维类似,同样借用一张图来表示:
【1】寄存器:内存和CPU之间的交流。
【2】本地方法栈:jvm调用操作系统功能在这块内存来执行。
【3】方法和数据共享区:运行时期 编译之后生成的class文件进入的地方
【4】方法栈:所有方法运行时进入的内存
【5】堆:存储的是容器以及对象
例:
public static void main(String[] args){ int[] arr = new int[4]; int[][] arr2 = new int[3][2]; }
上段代码运行所发生的事情:
1、编译生成的.class文件进入方法和数据共享区;
2、main方法压入方法栈运行
3、new int 在堆中开辟一块连续内存,将内存首地址返回给arr
二维数组和一维类似,同样借用一张图来表示:
相关文章推荐
- 读书笔记一 Java程序员的基本修养(数组及其内存管理)
- java数组与内存管理
- 23、数组及其内存管理
- 内存分配详解、指针与数组[C++][内存管理]
- 深入理解java虚拟机-内存管理、异常处理
- java虚拟机学习-JVM内存管理:深入Java内存区域与OOM(3)
- 内存分配详解、指针与数组[C++][内存管理]
- Java数组的内存管理
- 《高质量C++/C编程指南》笔记——内存管理[3, 指针与数组的对比]
- java数组及其内存管理
- 内存分配详解、指针与数组[C++][内存管理] --转载于--Gaius Julius Caesar
- java虚拟机(一)——内存管理机制与OOM异常
- 数组及其内存管理
- java虚拟机内存管理机制(一):JVM内存管理总结【分享】
- oc79--数组的内存管理
- Java虚拟机_内存管理_内存区域
- C语言内存管理-字符数组与字符指针
- Java虚拟机专题之内存管理(读书笔记)
- OC--内存管理之自动释放,[NSMutableArray array]生成的自动释放数组被自动释放后引起的严重后果