JMV-内存管理-运行时数据区域
简介
Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。每个区域有各自的用途,创建时间以及销毁时间。有的区域随着虚拟机的进程启动而存在,有的则是依赖用户线程的启动和结束而建立和销毁。根据《Java虚拟机规范(第2版)》的规定JVM所管理的内存分为以下几个运行时数据区:程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区。
正文内容中的内容转载与《Java虚拟机原理图解》3、JVM运行时数据区。归纳的很全面并且图形化印象更深。
运行时数据区结构与说明
JVM运行时数据区里有什么?
虚拟机栈 是什么?虚拟机栈里有什么?
栈帧是什么?栈帧里有什么?
方法区是什么?方法区里有什么?
总结
开发过程中的内存溢出相信对每个人都不陌生,整体搞清楚运行时数据区之后,能更深刻的了解他们发生的深层次的原因,下一章整理出现各种内存溢出的异常来相互印证,加深理解。