共计 684 个字符,预计需要花费 2 分钟才能阅读完成。
1、数组内存原理
1.1、内存
1.1.1、什么是内存
内存是计算机临时存储数据的区域,我们会将内存在逻辑上分配成不同区域方便对数据进行分类高效管理。
1.1.2、内存分区
** 寄存器:** 最快的存储区域直接与 CPU 打交道,是程序员无法控制的计算区域。
** 堆栈:** 又叫栈,仅次于寄存器。用于存储局部变量。
** 堆:** 通用内存池,用于存放所有引用数据类型对象。每个对象均有地址,且有默认初始化值。
** 常量存储区域:** 用于存放永远不会被改变的值。
1.2、JAVA 虚拟机内存
1.2.1、什么是 JAVA 虚拟机内存
Java 程序在运行时,需要在内存中的分配空间。
为了提高运算效率,就对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式。
1.2.2、JAVA 虚拟机内存分区
堆栈:又叫栈,仅次于寄存器。用于存储 局部变量(局部变量是定义在方法中或者语句中的变量,局部变量使用完毕,立即回收)
** 堆:** 通用内存池,用于存放所有引用数据类型对象。每个对象均有地址,且有默认初始化值,都是 new 出来的东西。(每一个对象都有首地址值, 是一个十六进制的地址,每一个对象内的数据都有默认值。使用完毕后,会被垃圾回收器空闲的时候回收)
方法区:(方法区)又叫静态区,存放所有的 class 和静态变量,方法区存放的是整个程序中唯一的元素,如 class 和 static 变量。
本地方法区: (和系统相关)
寄存器: (给 CPU 使用)最快的存储区域直接与 CPU 打交道,是程序员无法控制的计算区域
1.3、数组内存图
1.3.1、一个数组内存图
1.3.2、二个数组内存图
1.3.3、二个数组指向同一个位置
正文完
星哥玩云-微信公众号