乐趣区

关于java:IDEA快捷键内存分配笔记

IDEA 快捷键补充

内容提醒 ctrl+alt+space

单行正文 ctrl+/
多行正文 ctrl+shift+/

修改格局 ctrl+alt+L

数组

1、定义

int[] a
(定义了一个 int 类型的数组,数组名是 a)

2.1 动静初始化

int[] a = new int[3];
(不赋值,只指定数组长度)

2.2 动态初始化

int[] a = new int[3]{11,44,55};
简化:int[] a = {11,44,55};

内存调配

P61
栈:存储局部变量
堆:存储 new 出的对象

例:

int[] a = new int[3]
等式右边在栈中
等式左边在堆中,开拓了一块数组空间存储数组 a,生成地址 xxx
栈中 a 指向地址 xxx

System.out.println(a)
栈中 a 找到指向的地址,输入地址

System.out.println(a[0])
栈中 a 找到指向的地址 xxx,找到 0 号元素,输入数值。

内存调配图
多个数组

第二个数组指向第一个数组

数组的异样
数组越界异样: 拜访了数组中不存在的索引对应的元素

ArrayIndexOutOfBoundsException

空指针异样:拜访的数组曾经不再指向堆内存的数据

NullPointerException


退出移动版