JVM 即时编译器 GraalVM

GPLv2
Linux
Oracle
2014-09-29
红薯

Graal — 新的 JVM 即时编译器

GraalVM 是新一代的高性能跨语言虚拟机,用于运行 JavaScript、Python 3、Ruby、R、基于 JVM 的语言,如 Java、Scala、Kotlin 和基于 LLVM 的语言,如 C 和 C++。

GraalVM 消除了编程语言之间的隔离,并支持共享运行时的互操作性。它可以独立运行,也可以在 OpenJDK、Node、Oracle 或者 MySQL 上运行。

Graal 是一个用 Java 编写的新的 JVM 即时编译器,集成到 HotSpot 虚拟机,侧重性能和语言互操作性。Graal 为 Java 代码提供性能优势,这得益于方法内联、流转对象分配和推理执行等新技术,从而可以实现高性能的脚本语言引擎。

与传统的 HotSpot 编译器不同,脚本语言解释器可以使用 Graal 包含的 Truffle API 发出原生代码,这样无需提前编译,即可让编程语言获得 Java 的性能。

语言解释器可以使用 HotSpot 所用技术提高 Java 代码的速度 — 包括发出优化的原生代码(含去优化的条件)— 该技术令即时编译的代码在性能方面优于提前编译的代码。

目前提供了一个技术预览版下载,Graal 很快就可用作 JDK 9 的附加组件。当前版本是一个独立的 JDK,包含 Graal。

语言支持

下载包括以下语言引擎:

  • JavaScript — Graal.js 是一个 JavaScript 解释器/编译器,能够在 JVM 上运行 Node.js 应用

  • FastR — R 语言解释器/编译器

  • RubyTruffle — 支持 Ruby 且性能优于 Ruby

  • SimpleLanguage — 一个有关如何使用 Graal API 的示例

好处

  • 性能 — Graal 结合了我们对编译器技术的研究,在一些负载上提供比传统 JVM 更好的峰值性能

  • 语言互操作性 — 用 Graal 执行的语言可以互相调用,可以使用来自其他语言的库

用法

只需下载 OTN 预览版并将其用作 JDK。它经过预先配置,使用 Graal 作为默认的 Java 编译器,包括命令行程序 nodejrb 和 R,可用于取代 NodeJS、Ruby 和 R。

请点击下面的“软件下载” 进行体验,下载后解压即可使用 bin 目录下的 java 和 trufflejs 命令分别来执行 Java 和 JavaScript 程序。

TruffleJS 是 Truffle 多语言执行框架的一个 JavaScript 版本的实现,该版本基于 GraalVM 运行。

的码云指数为
超过 的项目
加载中

评论(2)

蟋蟀哥哥
蟋蟀哥哥
还好不叫HotPots GraalVM
KenSun
KenSun
都还不是正式版,放出来有什么意义?而且Graal还是基于openjdk的。。。 GraalVM

GraalVM 19.2 发布,高性能跨语言虚拟机

GraalVM 19.2 发布了。GraalVM 是高性能跨语言虚拟机,用于运行 JavaScript、Python 3、Ruby、R、基于 JVM 的语言,如 Java、Scala、Kotlin 和基于 LLVM 的语言,如 C 和 C++。 该版本带来了...

08/22 07:35

GraalVM 19.1.0 发布,高性能跨语言虚拟机

GraalVM 19.1.0 发布了。GraalVM 是高性能跨语言虚拟机,用于运行 JavaScript、Python 3、Ruby、R、基于 JVM 的语言,如 Java、Scala、Kotlin 和基于 LLVM 的语言,如 C 和 C++。 GraalVM 消...

07/09 07:35

GraalVM 19.0 发布,高性能跨语言虚拟机

GraalVM 19.0 发布了。GraalVM 是高性能跨语言虚拟机,用于运行 JavaScript、Python 3、Ruby、R、基于 JVM 的语言,如 Java、Scala、Kotlin 和基于 LLVM 的语言,如 C 和 C++。 GraalVM 消除...

05/10 07:42

GraalVM 社区版 1.0 RC15 发布,新一代高性能跨语言虚拟机

GraalVM 社区版 1.0 RC15 已发布。 GraalVM 是新一代的高性能跨语言虚拟机,用于运行 JavaScript、Python 3、Ruby、R、基于 JVM 的语言,如 Java、Scala、Kotlin 和基于 LLVM 的语言,如 C ...

04/06 06:45

GraalVM 社区版 1.0 RC7,新一代高性能跨语言虚拟机

GraalVM 社区版 1.0 RC7 已发布。 GraalVM 是由 Oracle 开源的新一代高性能跨语言虚拟机,用于运行 JavaScript、Python 3、Ruby、R、基于 JVM 的语言,如 Java、Scala、Kotlin 和基于 LLVM 的...

2018/10/05 07:20

GraalVM 社区版 1.0 RC3,新一代高性能跨语言虚拟机

GraalVM 社区版 1.0 RC3 已发布。 GraalVM 是新一代的高性能跨语言虚拟机,用于运行 JavaScript、Python 3、Ruby、R、基于 JVM 的语言,如 Java、Scala、Kotlin 和基于 LLVM 的语言,如 C 和...

2018/07/03 08:02

GraalVM 社区版 1.0 RC2,新一代高性能跨语言虚拟机

GraalVM 社区版 1.0 RC2 已发布。 GraalVM 是新一代的高性能跨语言虚拟机,用于运行 JavaScript、Python 3、Ruby、R、基于 JVM 的语言,如 Java、Scala、Kotlin 和基于 LLVM 的语言,如 C 和...

2018/06/07 08:09

没有更多内容

加载失败,请刷新页面

没有更多内容

2
回答
【一周】将Julia引入Firefox | IBM收购Red Hat | 色情应用repo被移除 | 微软量子开发包

回顾一周社区热门资讯 第【三十一】期:20190706-20190712 点击相应标题,跳转阅读全文。 OpenWrt 18.06.4 发布,开源路由器项...

07/14 08:02

没有更多内容

加载失败,请刷新页面

没有更多内容

GraalVM

编者注 编者最近要发布服务到云厂商平台,云厂商平台针对代码的安全性需要进行防护。则需要把对应的Java代码进行加密防护。简单的加密直接使用AOT编译。增加解密成本。 GraalVM GraalVM 官网...

03/11 09:55
46
0
厉害了,Oracle 发布了一个全栈虚拟机 GraalVM,支持 Python!

前阵子,Oracle 发布了一个黑科技 "GraalVM",号称是一个全新的通用全栈虚拟机,并具有高性能、跨语言交互等逆天特性,真有这么神奇? GraalVM 简介 GraalVM 是一个跨语言的通用虚拟机,不仅...

2018/07/26 09:07
262
0
Quarkus框架入门之一:Quarkus框架介绍及简单示例

开篇 最近几年,Spring全家桶横扫其它Java框架,已然成为事实标准,单体应用使用Spring Framework+Spring Boot,服务治理Spring Cloud,生态完善,各种组件层出不穷。曾经还玩过JFinal和Nut...

05/15 12:22
571
0
graalVM高性能跨语言虚拟机试玩

graalVM高性能跨语言虚拟机 偶然看到oracle发布的这个虚拟机,听闻它可以支持很多种语言直接编译成二进制文件运行,甚至可以多语言混写编译成二进制文件运行。 特意试了下java下编译成二进制...

05/08 20:32
15
0
meta-compilation

RPython GraalVM

2018/10/10 11:08
1
0
【Java日报】2019-08-23 - Jakarta EE 8 - 过去、现在和未来

Jakarta EE 8 - 过去、现在和未来 这篇文章是Arjan Tijms在Eclipse官方上面发表的文章,在文章中解释了Jakarta EE 8是做什么的,回顾了J2EE的历史以及演进到Jakarta的现在和展望的未来(我尽...

08/23 21:35
4
0
Graeme Rocher访谈:介绍Micronaut

导读:Voxxed Days Microservices 2018 将于10月28-30日在法国巴黎举办,是一个为期三天的新活动,包括两个会议日和一个专注于微服务的研讨会。Graeme Rocher将会介绍该框架并演示如何使用M...

2018/10/20 23:20
12
0
使用 Quarkus/GraalVM 将 JGroups 编译成可执行文件

本文翻译自:http://belaban.blogspot.com/2019/07/compiling-jgroups-to-native-code-with.html 我很高兴的宣布 Quarkus 官方发布 JGroups 的扩展! What? Quarkus 是一个将 Java 代码编译为...

07/04 13:28
1K
3
Java11的新特性

Java语言特性系列 Java5的新特性 Java6的新特性 Java7的新特性 Java8的新特性 Java9的新特性 Java10的新特性 Java11的新特性 Java12的新特性 序 本文主要讲述一下Java11的新特性 版本号 java...

2018/09/26 20:23
896
0
进击的 Java ,云原生时代的蜕变

作者| 易立 阿里云资深技术专家 导读:云原生时代的来临,与Java 开发者到底有什么联系?有人说,云原生压根不是为了 Java 存在的。然而,本文的作者却认为云原生时代,Java 依然可以胜任“巨...

09/17 10:22
14
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部