美文网首页
【翻译】GraalVM(一):GraalVM介绍

【翻译】GraalVM(一):GraalVM介绍

作者: 半场摇摆人 | 来源:发表于2018-12-26 12:46 被阅读0次

GraalVM是一个共享运行时间的生态系统,无论是那些依赖于JVM的语言(Java、Scala、Groovy、Kotlin)还是说其他的编程语言例如(JavaScript、Ruby、Python、R)有性能上的优势。另外,GraalVM能够通过一种前端的LLVM执行JVM上面的原生代码。GraalVM 1.0版本是基于JDK8的。

Alt text

<center>上图描述了GraalVM作为开发生态系统的一个架构图</center>

虚拟化层代表了GraalVM提供的编程语言。非宿主型语言(JavaScript、Ruby、R、Python、LLVM二进制码)能够和基于JVM的宿主型语言达到同样的一个运行时间,并且两者可以在同一个内存空间中来回传递数据进行互操作。

架构图的底部表明了它的适用范围。GraalVM既可以独立运行,又可以嵌入到OpenJDK或者Node.js平台中,甚至可以嵌入到例如Mysql或者Oracle RDBMS这样的数据库中去。

GraalVM 1.0 正式版本中包含的语言解释器可以用于:

  • 基于JVM的语言( Java, Scala, Groovy, 或者 Kotlin)
  • JavaScript(包括Node.js)
  • 编译成LLVM二进制码的语言( C, C++, Rust)
  • Ruby, R, 以及 Python的试验版本

GraalVM是由以下几个部分组成的:

  • Graal: 动态的实时(JIT)编译器,通过独特的代码分析和优化方法,能够提升应用程序的效率和速度。
  • Graal Polyglot APIs:APIs用来在共享运行时间里绑定编程语言。这些APIs可以根据你的需求去匹配编程语言,并且只需很少的资源就可以达到更好的性能。
  • Graal SDK:一组高效的APIs集合,用于嵌入式Graal语言以及配置本机镜像。
  • Oracle HotSpot Java Virtual Machine (JVM):针对那些基于JVM的语言或者支持非宿主编程语言提供的一个运行时环境。

GraalVM特性

GraalVM能够:

  • 代码运行的更快更高效
  • 和一些更现代化的编程语言直接操作
  • 通过Graal SDK嵌入到语言内部
  • 创建编译成功的本机镜像
  • 使用简单的工具集合来监控、调试、描述代码

GraalVM参考文档

另外,你可以去了解JavaDoc中的文档:

如果你仍然有疑问,联系我们

原文请见链接:https://www.graalvm.org/docs/

相关文章

网友评论

      本文标题:【翻译】GraalVM(一):GraalVM介绍

      本文链接:https://www.haomeiwen.com/subject/dykhlqtx.html