简单认识JAVA内存划分

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 有关


无论人生上到哪一层台阶,阶下有人在仰望你,阶上亦有人在俯视你。你抬头自卑,低头自得,唯有平视,才能看见真实的自己
原文地址:https://www.cnblogs.com/yuyueq/p/13268027.html