java程序在运行时,需要在内存中分配内存空间为了提高运算效率,又对空间进行了不同区域的划分,每一个区域都有特定的处理数据方式和内存管理。
栈、堆、方法区、本地方法区、寄存器。
栈内存
用于存储局部变量。当数据使用完,会自动释放。
对内存
1.存放的是引用类型和对象实体。
2.堆内存中每一个实体都有内存地址
3.实体汇总的变量都有默认的初始值。
4.实体不在被使用,会不定时的被垃圾回收器回收释放。
方法区
1.类信息
2.静态变量
3.final变量
本地方法区
每个native方法调用状态
PC寄存器
程序计数器,可以理解方法的执行的计数器。每个java虚拟机线程都有他自己的PC寄存器,包含当前执行方法执行的