1.数组中使用到了堆和栈 (画图, 画图, 画内存图)
1.1 栈内存:用来存放局部变量。
- 栈内存特点:
- 栈内存存储特性为:“先进后出,后进先出”。
- 栈是一个连续的内存空间,由系统自动分配,速度快!
- 虚拟机会为每个线程创建一个栈,用于存放该线程执行方法的信息。
1.2堆内存:用来存储创建好的对象和数组(数组也是对象)
- 虚拟机中只有一个堆,被所有的线程共享。
- 堆是一个不连续的内存空间,分配灵活,但速度慢!
2. 数组的数据结构
-
核心特点:
a)数组是一块连续的内存空间
b)数组一旦创建成功,空间长度就不能改变了
-
数组的优势和劣势:
优势:通过索引来查找速度非常非常快!
劣势:插入和删除效率低下, 需要自己手动实现数组扩容操作。