JVM规范定义的标准结构如下:
以上结构是JVM标准规范中定义的,但各厂家在实现时不一定会完全遵守,
1、JVM负责加载class文件并执行,因此,首先要掌握的是JDK如何将Java代码编译成class文件,如何装载class文件及如何执行class,将源码编译为class文件的实现取决于各个JVM实现或各种源码编译器。class文件通常由类加载器(ClassLoader)来完成加载;class的执行在Sun JDK中有解释执行和编译为机器码执行两种方式,其中编译为机器码又分为client和server两种模式,Sun JDK为了提升class的执行效率,对于接收执行和编译为机器码执行都设置了很多的优化策略。
2、Java程序无须显示分配和回收内存,因此JVM如何进行内存分配和回收也是要关注的问题。
3、Java提供了线程支持,对于分布式Java应用语言,通常要借助线程来实现高并发,因此JVM中线程资源同步的机制和线程之间的交互机制也是需要掌握的。