前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >「GraalVM」支持多语言运行,能将源代码直接编译为本地二进制文件

「GraalVM」支持多语言运行,能将源代码直接编译为本地二进制文件

作者头像
老夫编程说
修改2020-04-29 12:33:58
2K0
修改2020-04-29 12:33:58
举报
文章被收录于专栏:Java 温故知新

GraalVM是甲骨文(Oracle)开发的支持多语言,采用一个单一的虚拟机来对不同语言提供支持的高性能运行时。

GraalVM
GraalVM

GraalVM 底层是基于 OpenJDK 的 Java HotSpot 虚拟机,基于 JVM 编译器接口(JVM Compiler Interface)实现的即时编译器(just-in-time,JIT),用来把 Java 字节码转换成本地机器代码。 对于Java 和其他 JVM 语言(如 Groovy、Kotlin 和 Scala 等)的源代码在编译成 Java 字节代码之后,可以直接运行在 GraalVM 的 Java 虚拟机之上。

GraalVM 的多语言支持
GraalVM 的多语言支持

对于其他非Java 系的的语言,比如JavaScript、Ruby、Python、R、Rust和 C/C++等语言,GraalVM 中的Truffle 框架提供了对这些语言的支持,Truffle 框架是一个开放的语言实现框架。其他语言都可以通过 Truffle 框架运行在 GraalVM 上,甚至是应用本身私有的语言。 Graalvm的native-image 可将应用程序源代码提前编译为在系统上本机运行的二进制文件,目前对java 的支持最为友好,支持Java 8 和 Java 11。 GraalVM 提供了命令行工具gu用来管理可选组件,可通过gu命令行工具来下载、删除GraalVM提供组件,比如,刚下载的GraalVM是没有Ruby 语言解释器的,便可通过如下命令安装:

代码语言:javascript
复制
gu install ruby// 安装 Ruby 语言解释器

在组件安装之后,会在bin目录添加语言相关的命令行工具。还有其他一些常用的命令:

代码语言:javascript
复制
gu available // 列出所有可用的组件
gu install   // 安装对应组件,如gu install ruby:安装 Ruby 语言解释器
gu list      // 列出当前已安装组件
gu remove    // 删除已安装的组件,如gu remove ruby:来删除 Ruby 语言解释器

目前GraalVM 最新版是20.0.0,提供了社区版和企业版,对Java 8 和 Java 11 提供了支持;社区版可通过Github免费下载,企业版则针对企业用户付费使用。GraalVM对Linux、Mac os x、Windows三个平台都提供了发行版,如有感兴趣的小伙伴可以通过官网下载体验。

GraalVM 社区版下载
GraalVM 社区版下载
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 老夫不正经 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档