OpenJ9主要有如下几个组件组成:
1)Class loader:类加载器
2)Interpreter:解释器,负责解释字节码
3)Platform port library layer:操作系统和JVM直接的抽闲层
4)Garbage collector (GC):垃圾回收器
5) Just-In-Time (JIT) compiler (codenamed Testarossa or TR JIT in J9):及时编译器
6) JVM Application Programming Interface (API):应用编程接口
7) Monitoring and Diagnostic component:监控诊断组件
如下图所示:
类加载器和解释器是JVM的基本组件,通常从应用程序启动时就开始执行,而 平台端口库层提供JVM和底层操作系统之间的抽象层,允许在代码库中的一个位置管理大部分平台特定的细节,如文件I / O和内存分配。
openJ9 VM可以配置许多不同的Java类库(JCL)版本,以生成不同版本的IBM SDK for Java,这样就可以在OpenJ9的JVM上支持java8.0,9.0和10