内存划分
Java中内存分为5个部分:栈、堆、方法区、本地方法区、寄存器
栈(虚拟机栈):局部变量,java方法;用完就释放。(java的方法是通过压栈出栈的方执行的)
堆:存储new出来的东西,用完后有垃圾回收器释放。
方法区:主要存 类元数据、常量 等等
本地方法栈:作用同虚拟机栈,提供的是Native方法服务;即提供非Java方法的使用。本地方法可以通过 JNI(Java Native Interface)来访问虚拟机运行时的数据区,甚至可以调用寄存器,具有和 JVM 相同的能力和权限
寄存器:CPU使用的位置。
Java8前-内存
Java8后-内存