Java的内存分配
栈内存 -> Stack
1. 展示程序的执行流程 -> 方法被调用进栈,方法执行完毕出栈
2. 存储局部变量 (局部变量:作用域在一定范围内的变量)
3. 栈内存中方法的执行特点: 先进后出-> 压栈
4. 栈内存的元素特点: 使用完毕立即回收 (每一次程序执行完毕,栈内存内干干净净)
堆内存 -> Memory
1. 存new出来的东西
2. 堆内存中的数据都有地址 -> 对象的地址值(多个对象地址值不能重复)
3. 堆内存中存成员变量(成员变量: 类中方法外的变量)
4. 堆内存中对象内部的数据都有默认值
5. 堆内存中元素的特点: 堆中数据使用完毕不是立即回收,等到"垃圾回收机制"空闲的时候回收
方法区
1. 字节码对象(类的概览) <- 字节码文件(.class)
2. 常量池(存常量的,JDK7之后常量池从方法区搬到了堆内存中)
本地方法区: JDK中有一些被 native 关键字修饰的方法叫本地方法
本地方法就是处理和操作系统关联的功能,本地方法的运行就是在本地方法区;
寄存器 : 跟CPU运算相关

浙公网安备 33010602011771号