JVM包括类加载子系统、堆、方法区、栈、本地方法栈、程序计数器、直接内存、垃圾回收器、执行引擎。
1. 类加载子系统:类加载子系统负责加载class信息,加载的类信息存放于方法区中。
2. 直接内存 直接内存是在Java堆外的、直接向系统申请的内存空间。访问直接内存的速度会由于Java堆。出于性能的考虑,读写频繁的场合可能会考虑使用直接内存。
3. 垃圾回收器:垃圾回收器可以对堆、方法区、直接内存进行回收。
4. 执行引擎:执行引擎负责执行虚拟机的字节码,虚拟机会使用即时编译技术将方法编译成机器码后再执行。