- Java 10 教程
- Java 10 - 主页
- Java 10 - 概述
- Java 10 - 环境设置
- Java 10 - 基于时间的发布版本控制
- Java 10 - 局部变量类型推断
- Java 10 - 新 API 和选项
- Java 10 - 删除的功能和选项
- Java 10 - 已弃用的功能和选项
- Java 10 - JIT 编译器
- Java 10 - 类数据共享
- Java 10 - 增强的垃圾收集
- Java 10 - 区域设置增强
- Java 10 - 堆分配
- Java 10 - 统一的 JDK 森林
- Java 10 - 根证书
- Java 10 - 线程本地握手
- Java其他版本教程
- Java教程
- Java 8 教程
- Java 9 教程
- Java 10 有用资源
- Java 10 - 快速指南
- Java 10 - 有用的资源
- Java 10 - 讨论
Java 10 - JIT 编译器
JEP 317 - 基于 Java 的实验性 JIT 编译器
JIT编译器是用C++编写的,用于将Java转换为字节码。现在,Java 10 可以选择启用基于 Java 的实验性 JIT 编译器 Graal,而不是使用标准 JIT 编译器。Graal 使用 JVMCI(Java 9 中引入的 JVM 编译器接口)。Graal 也可在 Java 9 中使用。借助 Java 10,我们可以启用 Graal 来测试和调试实验性 JVM 编译器。
句法
java -XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler
Graal 编译器是基于 C++ 的早期编译器的完全重写,针对基于 Linux/x64 的平台。Graal 是在 Java 9 中引入的,作为目前使用的 JIT 编译器的替代方案。Graal 是 JVM 的插件,可以动态插入。它还支持多语言解释。
风险和假设
由于 Graal 是实验性的,并且需要考虑各种热点和具有各种标志选项的 jdk 测试来进行测试工作。与标准 JIT 提前编译器相比,它可能无法通过某些性能基准测试。