Java的内存划分

那年仲夏 提交于 2019-12-06 02:52:18

1,栈(Stack): 存放的都是方法中的局部变量,方法的运行一定要在栈当中。

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

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

2,堆(Heap):凡是 new 出来的东西,都在堆当中。

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

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

    如果是整数:默认为0

    如果是浮点数:默认为0.0

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

    如果是布尔:默认为false

    如果是引用类型:默认为null

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

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

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!