Java的内存划分为五个部分
那么又是哪五个部分呢?跟着我往下看!
介绍:
每个程序运行都需要内存空间,所以Java也不例外;而Java把从计算机中申请的这一块内存又进行了划分!而所在目的是为了让程序更好的运行和处理!
第一块:
第一部分
“栈” ——(stack)
1.它存放的是方法中的局部变量。
2.而这个 “局部变量” 又指的是方法的参数,或者是大括号{}内部的变量。
3.而这个 “局部变量” 有个特点 就是 “作用域” 。
4.一旦超出“作用域”(大括号),立刻从栈内存当中消失。
5.方法的执行一定要在栈当中。
第二块:
第二部分
“堆”——Heap
1.凡是 new 出来的东西,都在堆当中。
2.堆内存里面的东西都有一个地址值:16进制的一个值。
3.而且堆内存里面的数据,都有默认值,规则:
如果是整数——默认为 0;
如果是浮点数——默认为 0.0;
如果是字符型——默认为 ‘u0000’;
如果是布尔类——默认为 false;
如果是引用类型——默认为 null;
第三块:
第三部分
“方法区”——Method Area
1.存储 .class 相关信息,包含方法的信息。
第四块
第四部分
“本地方法栈”——Native Method Stack
1.是和操作系统相关的内容。
第五块
第五部分
“寄存器”——pc Register
1.与CPU 有关