内存结构
Java程序在运行时,需要在内存中分配空间。为了提高运算效率,对空间进行了不同区域的划分,没一片区域都有特定的处理数据方式和内存管理方式。
1.栈内存:
(变量,或者方法的执行)用于储存局部变量,当数据使用完(超出了作用域),所占空间会自动释放
2.堆内存:
A.数组和对象,通过new建立的实例都放在堆内存中。
B.内一个实体都有内存地址值。用16进制表示。本身是10进制的数字,但是会显示为16进制。
C.实体中的变量都有默认初始化值。整数:0;浮点数:0.0;字符:‘\u0000’;布尔型:false
D.实体不再被使用,会在不确定的时间内被垃圾回收器回收。
3.方法区:方法区,静态区,String常量池
4.本地方法区:跟系统相关的方法。
5.寄存器:由CPU执行
|
|