前两天正好研究了一下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吧....
点击【阅读原文】,可以观看视频
干货