Java虚拟机内存管理 数组为例

来源:互联网 发布:淘宝订单记录保存几年 编辑:程序博客网 时间:2024/06/18 12:44

Java虚拟机对自己的内存区域分为五部分:
【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

这里写图片描述

二维数组和一维类似,同样借用一张图来表示:

这里写图片描述

原创粉丝点击