Java内存分配
- 栈(Stack):主要用来存放局部变量
方法要运行就要进栈。 - 堆(Heap):凡是new出来的东西,都在堆当中。堆当中的数据有默认规则
a) 如果死整数,默认值是0;
b) 如果是浮点数,默认值是0.0
c) 如果是字符,默认值是‘\u0000’(Unicode写法)
d) 如果是布尔值,默认值是false
e) 如果是引用类型(包含字符串),默认值是null(空常量) - 方法区(Method Area):存放于class相关的信息
- 本地方法区(Native Method Area):与操作系统相关
- 寄存器(pc Register):与CPU相关,性能很高
数组的内存分配
直接一个数组名称(int[] array),它其实就是一个局部变量(array),里面保存的是一个地址值,而=后面的才是一个数组