文章目录
内存布局
本地方法栈
程序计数器
虚拟机栈
堆
元空间(MetasSpace)
内存布局
JVM内存布局规定了Java在运行过程中内存申请,分配,管理策略,保证了JVM的高效平稳运行。...线程开始调用本地方法栈时,会进入一个不受JVM约束的世界。本地方法可以通过JNI来访问虚拟机运行时的数据区,甚至可以调用寄存器,具有和JVM相同能力和权限。...栈中的元素用于支持虚拟机进行方法的调用,每个方法从开始调用到执行完成的过程,就是栈帧从入栈到出栈的过程。
在活动线程中,只有位于栈顶的帧才是有效的,称为当前栈帧。正在执行的方法称为当前方法。...在执行的过程中,如果出现异常会进行异常回朔,返回地址通过异常处理表确认。
栈帧在整个JVM体系中地位颇高,包括局部变量表,操作栈,动态链接,方法返回地址。...元空间(MetasSpace)
元空间的前身是Perm区,Perm区在JDK8中被淘汰,因为它启动时固定大小,很难进行调优,并且FGC时会移动类元信息。