图文结合java的内存划分

java的内存需要划分为5部分

 

1.栈:存放的都是方法中的局部变量。(方法运行一定在栈中

局部变量:方法的参数,或者是方法{}内部的变量

作用域:一旦超出作用域(出了大括号),立刻从栈内存中消失

 

2.堆:凡是new出来的东西,都在堆当中

堆内存里面的数据,都有默认值,规则:

如果是整数       默认为0

如果是浮点数       默认为0.0

如果是字符       默认为'\u0000'

如果是引用类型       默认为null

 

3.方法区(Method Area):存储class相关信息,包含方法的信息。

 

4.本地方法栈(Native Method Stack)与操作系统相关

 

5.寄存器(pc Register):与CPU相关

 

数组举例说明