栈(Stack)
- 存放的都是方法中定义的局部变量
- 局部变量: 方法的参数,或者是方法体中定义的变量
- 方法都在栈中运行
堆(Heap)
- 凡是new出来的东西都在堆中存放
- 堆里面存放的东西都有地址值
- 堆内存的数据都有默认值
- 如果是整数,默认为0 (byte/short/int/long)
- 如果是浮点数,默认为0.0(double/float)
- 如果是字符,默认为 ‘\u0000’
- 如果是布尔,默认为false
- 如果是引用类型,默认为null
方法区(Method Area)
存储.class相关信息,包含方法的信息
本地方法栈(Native Method Stack)
与操作系统相关
寄存器(Register)
与cpu相关