包含堆、方法区、程序计数器、本地方法栈、虚拟机栈。这就是运行数据区的几个部分。其中堆和方法区是线程共有的,其它数据区域是线程私有的。
堆中存储对象数据。
方法区中储存类信息、常量及静态变量等信息。
方法栈中的栈帧和线程的寿命是一致的,储存方法执行时的相关常量,比如局部变量、方法出口这些。本地方法栈是本地方法相关,例如c++编写的内部方法。而虚拟机栈则是java方法相关。
程序计数器保存下一条需要执行的字节码命令。
OOM就是内存溢出,发生的数据区域,除了程序计数器,都可以发生。
微信扫一扫
包含堆、方法区、程序计数器、本地方法栈、虚拟机栈。这就是运行数据区的几个部分。其中堆和方法区是线程共有的,其它数据区域是线程私有的。
堆中存储对象数据。
方法区中储存类信息、常量及静态变量等信息。
方法栈中的栈帧和线程的寿命是一致的,储存方法执行时的相关常量,比如局部变量、方法出口这些。本地方法栈是本地方法相关,例如c++编写的内部方法。而虚拟机栈则是java方法相关。
程序计数器保存下一条需要执行的字节码命令。
OOM就是内存溢出,发生的数据区域,除了程序计数器,都可以发生。
相关推荐