截至目前,GraalVM为Java程序提供了两种主要的运行方式:一是与Java HotSpot VM搭配使用GraalVM JIT(即时)编译器,二是通过GraalVM Native Image编译为本机可执行文件。然而,近期GraalVM 21.0推出了一种全新的Java运行方式(第三种方法),引入了名为'espresso'的新可安装组件。这一组件是用Java编写的JVM实现,通过Truffle框架运行Java代码,从而将Java的运行能力提升到GraalVM支持的其他语言级别。在即将发布的每个21.x版本中,我们预期性能(包括预热和峰值性能)都将迅速提高。现在,让我们深入了解Truffle上的Java,探索一些显著用例,并努力将项目融入更广阔的GraalVM和Java生态系统中。Truffle上的Java是基于Truffle语言实现框架的JVM实现,它包含了Java虚拟机的所有核心组件:字节码解释器、字节码验证器、单遍.class文件解析器、简单对象模型、以及Java中的Java本机接口(JNI)实现。