Java内存划分为5个部分
1.栈(Stack):存放方法中的局部变量。(方法运行一定在栈中运行)
局部变量:方法的参数或者是方法{}内部的变量
作用域:超出作用域,立刻从站内存消失
2.堆(Heap):凡是new出来的东西,都在堆内存中
堆内存里面的东西都有一个地址值(16进制)
堆内存里面的数据都有默认值。
规则
规则 | 默认值 |
---|---|
整数 | 0 |
浮点 | 0.0 |
字符 | ‘\000’ |
布尔 | false |
引用 | null |
3.方法区(Method Area):存储.class字节码相关信息,包含方法的信息
4.本地方法栈(Native Method Stack ):与操作系统相关
5.寄存器(PC Register):与cpu相关