JAVA中内存分配

来源:互联网 发布:centos netstat 编辑:程序博客网 时间:2024/06/05 03:33

1.任何一个程序在运行的时候需要被加载到内存,java程序也是如此。java程序在运行的时候需要内存分配的空间,为了提高运算效率就对内存空间进行了不同区域的划分,因为每一片区域都有特定的数据处理方式和内存管理方式。
2.分为以下五个区域:
栈(存放局部变量)、堆(存放所有new出来的)、方法区、本地方法区(和系统相关)、寄存器(给cpu使用)
3.栈内存和堆内存的介绍:

这里写图片描述

4.数组定义及动态初始化数组的内存分配情况举例:
(1)动态定义一个数组:
这里写图片描述

(2)动态定义两个数组:

这里写图片描述

(3)动态定义三个数组:

这里写图片描述

(4)静态定义一个数组:

这里写图片描述

(5)格式一定义一个二维数组:

这里写图片描述

(6)格式二定义一个二维数组:

这里写图片描述

5.方法调用参数传递内存图解:

这里写图片描述

6.(1)定义一个对象的内存图:

这里写图片描述

(2)定义两个对象的内存图:

这里写图片描述

(3)定义三个对象的内存图(有两个对象指向同一个内存区域):

这里写图片描述

原创粉丝点击