在讨论JVM内存区域分析之前,先来看一下Java程序具体执行的过程:
Java 程序的执行过程:Java 源代码文件(.Java文件)-> Java Compiler(Java编译器)->Java 字节码文件(.class文件)->类加载器(Class Loader)->Runtime Data Area(运行时数据)-> Execution Engine(执行引擎)。 我们今天就来分析一下Java程序执行过程的 Runtime Data Area(运行时数据)
那么运行时数据区包括哪几部分呢?
- 程序计数器(Program Counter Register)
- Java虚拟机栈(VM Stack)
- 本地方法栈(Native Method Stack)
- 方法区(method area)
- 堆(heap)