**
java中内存的划分,简要概述
**
内存的分类
在java中,分为栈、堆、方法区、本地方法栈、寄存器,五大部分。此篇主要对前三种进行简要概述。
栈(Stack):
存放的都是方法中的局部变量。方法的运行一定要在栈中运行。
局部变量:方法的参数,或是方法{}内部的变量。
作用域:一旦超出作用域,立即从栈内存当中消失。
堆(Heap):
**凡是new出来的东西都存放在堆中,**堆内存里的东西都有一个地址值,为16进制。
堆内存里面的数据都有默认值,规则如下:
若为整数:默认为0;
若为浮点数:默认为0.0;
若为字符:默认为‘\u0000’;
若为布尔:默认为false;
若为引用:默认为null;
方法区(Method Area):
存储class相关信息,包含方法的信息。
本地方法栈(Naive Method Stack):
与操作系统相关。
寄存器(pc Register):
与CPU相关。