内存概述
内存是计算机中的重要原件,临时存储区域,作用是运行程序。我们编写的程序是存放在硬盘中的,在硬盘中的程 序是不会运行的,必须放进内存中才能运行,运行完毕后会清空内存。 Java虚拟机要运行程序,必须要对内存进行空间的分配和管理。
Java虚拟机的内存划分
为了提高运算效率,就对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式。
JVM的内存划分:
重点掌握:
- 栈:存放的都是方法中的局部变量,方法的运行一定要在栈当中运行
- 堆:凡是new出来的的东西都存储在堆内存中。堆内存中的数据都有一个默认值,默认值根据数据类型的不同而不同,详情见数组的默认值
- 方法区:存储.class文件,包含方法的信息
数组在内存中的存储
- new出来的内容,都是在堆内存中存储的,而方法中的数组名称保存的是数组的地址。
- 输出数组名称[index],就会输出数组名称保存的内存地址中数组中index索引上的元素
- new一次就会出现一个新的数组。数组在堆内存中的内存地址值不同
如下图所示