- JVM内存组成及各部分的意义
- JVM内存的分配与回收
图 1 JVM内部结构
一个程序执行的过程是这样的,以C语言为例,源代码首先被编译成可执行文件,以二进制的形式存放到磁盘上,当执行时,首先从磁盘加载到内存中,然后处理器就开始执行目标程序中机器指令。反观Java,首先编译成字节码文件,与平台无关,JVM通过ClassLoader加载到内存中,然后执行其中的机器指令,JVM帮我们跟操作系统打交道。有了字节码和JVM,Java实现了平台无关性。由上图可知,JVM内存主要由以下几个部分组成:
1. Heap
堆,这是一个非常重要的区域,基本所有的对象实例都在这里分配,大部分的垃圾回收也发生在这里。