【jvm】运行时数据区笔记

运行时数据区

运行时数据区包含5个部分:

  • 程序计数器:可以理解为存放当前线程执行的字节码的行号。

  • 虚拟机栈:在每个方法被调用时,都会在虚拟机栈里存放一个栈帧,里边存放了局部变量表、操作、方法出口等内容。

  • - 本地方法栈:和虚拟机栈作用相似,但是是用来处理Navite方法的。

以上3个是线程私有的数据区。

  • 堆:存放对象实例实例。在虚拟机启动时创建。是GC主要处理的地方。

  • 方法区:存放已被虚拟机加载的类信息、常量、静态变量以及编译后的代码等。包括运行时常量区(运行时常量包括字面量等)

以上2个是数据共享区。

除了程序计数器以外,其他四个区都可能发生OutOfMemoryError(内存溢出异常)

原文地址:https://www.cnblogs.com/cnsec/p/13286702.html