目录
运行时数据区 (Runtime Data Area)
是的,在 JDK 9 中,方法区(Method Area)的实现发生了重大变化 —— 原本基于永久代(PermGen)实现的方法区被元数据空间(Metaspace) 取代。这一改动主要是为了解决永久代存在的以下问题:
方法区(Method Area):存储类的结构信息、静态变量、常量池等,是各个线程共享的内存区域
堆(Heap):存储对象实例,是JVM中最大的一块内存区域,用于动态分配对象的内存空间
栈(Stack):存储方法调用和局部变量;每个线程都有自己的栈,用于保存方法的调用栈帧和局部变量表
本地方法栈(Native Method Stack):用于执行本地方法,类似于栈,但是专门用于执行本地方法
程序计数器(Program Counter Register)
记录当前线程执行的字节码指令地址:保证线程切换后能恢复执行位置:多线程环境下,线程切换时需保存当前执行位置,恢复时通过程序计数器的值找到断点,继续执行。
————————————————
原文链接:https://blog.csdn.net/zhangyan_1010/article/details/138128893