java中的内存划分
任何的计算机程序想要运行,都需要在内存中开辟一个内存空间!
一. 内存划分
java的内存需要划分为5个部分:
1. 栈(Strack)
存放的都是方法中的局部变量。
局部变量:方法的参数,或者是方法{}内部的变量。
作用域:一旦超出作用域,立刻从栈内存中消失。
2. 堆(Heap)
凡是new出来的东西,都在堆当中。
堆内存中的东西,都有一个地址:16进制
堆内存里面的数据,都有默认值,
规则:
整数: 默认为0
浮点数:默认为0.0
字符:默认为‘\u0000’
布尔:默认为false
引用类型:默认为null
3. 方法区(Method Area)
存储.class相关信息,包含方法的信息。
4. 本地方法栈(Native Method Stack)
与操作系统相关。