Java中的内存划分

1、栈(Stack)

存放的都是方法中的局部变量,方法的运行一定要在栈中运行。

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

作用域:一旦超出作用域,立刻从栈内存中消失

2、堆(Heap)

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

堆内存里的东西都有一个地址值:16进制哈希值

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

    类型                默认值

    整数                0

    浮点数            0.0

    字符                '\u0000'

    布尔                falase

    引用类型        null

3、方法区(Method Area)

存储.class相关信息,包含方法的信息

4、本地方法栈(Native Method Stack)

与操作系统相关

5、寄存器(pc Register)

与CPU相关

你可能感兴趣的:(Java中的内存划分)