GraalVM:云原生时代的Java

前两天正好研究了一下GraalVM,偶然间看到昨天周大在华章的直播里也分享了一波GraalVM,顺便就蹭蹭这个热度吧。

  • 废话

GraalVM is a universal virtual machine for running applications written in JavaScript, Python, Ruby, R, JVM-based languages like Java, Scala, Clojure, Kotlin, and LLVM-based languages such as C and C++. https://github.com/oracle/graal

GraalVM作为一个独立的Java开发工具包可以运行Java或者基于JVM的程序。并且它还可以基于它的多语言引擎运行其他的比如( JavaScript, Python, Ruby, R, )程序。其实一直挺看好这个项目,只是Oracle这个爹,让人有所忌惮,现在社区版就有windows版本了,尝鲜也很方便。个人实验选择了,https://hub.docker.com/r/oracle/graalvm-ce/ 官方的docker镜像,纯净一点。

GraalVM使用插件机制,实现对GraalVM的扩展,可以使用 gu 命令来进行相应操作,如下图,查看所有插件。

下文中,提到的native-image,也是需要单独下载安装的,他可以吧普通java类编译成本地文件

首先准备一个简单的java类,

public class Helloworld {

public static void main(String[] args) {

System.out.println("Hello, World!");

}

}

编译 javac Helloworld.java

将class文件编译成本地文件 native-image Helloworld

会输出一个 helloworld的本地文件,直接执行即可。

效果如下图:

个人也是温和派,尽管我也很喜欢kotlin和groovy。关于派系,请看下面的PPT吧....

点击【阅读原文】,可以观看视频

  • 干货