北大青鸟设计培训:GraalVM有什么特点?

对于程序员来说,通常会掌握很多编程工具来提高自己的工作效率,但是如果有一个编程工具可以适用于所有编程语言,我觉得应该是GraalVM。今天银川北大青鸟/我们来看看GraalVM的特点。

1.高性能JavaGraalVM中的Graal是以Graal编译器命名的。

Graal是一个通用编译器,也就是说,虽然它是一个单一的实现,但它可以用于许多目的。

比如我们可以用Graal进行提前和即时编译,也可以用它来编译很多编程语言。

2.内存占用小,启动速度快的JavaJava对于长时间运行的进程来说是相当强大的,但是短时间运行的进程可能会遭遇启动时间长,内存占用高的问题。

3.结合了JavaScript、Java、Ruby和R语言除了Java,GraalVM还包括JavaScript、Ruby、R语言和Python的实现。

它们都是使用名为Truffle的语言实现框架开发的,这使得实现简单和高性能的语言解释器成为可能。

用Truffle开发语言解释器时,Graal被自动用作JIT编译器。

所以Graal不仅是Java的JIT编译器和预编译器,也是JavaScript、Ruby、R语言和Python的JIT编译器。

4.在JVM上运行原生语言GraalVM也支持C语言,GraalVM可以像运行JavaScript、Ruby等语言一样运行C代码。

实际上,GraalVM是通过运行LLVM位代码来支持C语言的,而不是直接运行C代码。

也就是我们可以把现有的工具和C语言一起使用,也可以使用其他可以输出LLVM的语言,比如C++、Fortran等未来可能出现的语言。

为了简化演示,我使用了由StephenMcCamant维护的gzip的单个文件版本。

为了简单起见,它只是将gzip源代码和autoconf配置连接到一个文件中。

我还需要修改一些东西让它在macOS上运行,但是它不能在GraalVM上运行。

5.所有编程语言的工具如果你用Java编程,你可能习惯用那些高质量的工具,比如IDE,调试器,分析器,但是并不是所有的编程语言都有这么有用的工具。

但是,如果在GraalVM中使用某种语言,就可以得到这样的工具。

6.扩展基于JVM的应用可以用于独立语言实现和多语言编程,这些语言和工具也可以嵌入到Java应用中。

新的org.graalvm.polyglotAPI可用于加载和运行其他语言的代码。