JVM-运行时数据区

JVM运行时数据区基本结构

JVM-运行时数据区

【方法区】方法区只有一个,线程共享的内存区域(线程非安全),生命周期是跟虚拟机是一样的;方法区存储类信息,常量,静态变量,及时编译器编译之后的代码;逻辑上属于堆的部分,垃圾回收一般不会讨论该区域;可能会发生内存溢出(OOM)或栈溢出

【堆】堆只有一个,线程共享的内存区域(线程非安全),生命周期和虚拟机一样, 存储对象或数组,垃圾回收的主要区域,可能会发生OOM异常

【java虚拟机栈】

【本地方法栈】

【程序计数器】