不久前 Oracle 发布了一款通用型虚拟机—— GraalVM,能执行各类高性能与互操作性任务,并在无需额外成本的前提下允许用户构建多语言应用程序。本文将带你感受 GraalVM的10大用途。
GraalVM 包含了很多不同的部分,所以即使你之前听过这个名字,或者听过一些演讲,仍然有一些东西是你不知道的。在本文中,我们将列出 GraalVM 的一些不同的特性,并展示它的用途。
- 高性能 Java
- 占用内存小、启动速度快的 Java
- 组合 JavaScript、Java、Ruby 和 R 语言
- 在 JVM 上运行本地语言
- 适用于所有编程语言的工具
- 扩展基于 JVM 的应用程序
- 扩展本地应用程序
- 将 Java 代码作为本地库
- 数据库中的 polyglot
- 创建自己的语言
而且Oracle官方也说明,GraalVM将作为JDK9的附加组件。
GraalVM打通了不同语言之间的鸿沟,让我们可以进行混合式多语言编程。 在GraalVM之上,我们可以编写Java、Python、Ruby、R、Scala、Kotlin,甚至是C、C++语言。你可能会当心不同语言之间的互操作会不会带来性能上的问题。GraalVM说不会,你可以随意在多种不同语言之间窜来窜去,性能都不是问题。
它完全不同于JVM里面的JRuby、Jython这些library。GraalVM支持镜像加速(native-image),类似于Android的Ahead-Of-Time编译,将程序编译为原生的二进制程序,加速程序启动过程。
目前本人正在研究GraalVM的源码,有什么新的发现也会在这个博客里面更新。
文章评论