Java的内存划分

2019-07-10  本文已影响0人  PetrichorHH

1.栈(Stack):

  存放的都是方法中的局部变量。方法的运行一定要在栈中运行。
局部变量:方法的参数,或者是方法大括号{}内部的变量。
                  一旦超出作用域,立刻从栈内存中消失。

2.堆(Heap):

  凡是new出来的,都在堆中。
堆内存里面的东西都有一个地址值:16进制。
堆内存里面的数据都有默认值。规则如下:
        如果是整数:         默认为0
        如果是浮点数:     默认值为0.0
        如果是字符:         默认值为'\u0000'
        如果是布尔:         默认值为false
        如果是引用类型:  默认值为null

3.方法区(Method Area):

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

4.本地方法栈(Native Method Stack):

  与操作系统相关。

5.寄存器(pc Register):

  与CPU相关。
上一篇下一篇

猜你喜欢

热点阅读