近日,甲骨文对外公开表示,他们希望打造一套通用型虚拟机,以确保其有能力支持多种语言,同时提供一致的性能表现、工具选项以及配置方案。为了实现此项目标,数据库巨头公布了 GraalVM 1.0,这套虚拟机旨在执行各类高性能与互操作性任务,并在无需额外成本的前提下允许用户构建多语言应用程序。链接如下:
http://www.graalvm.org/
根据该公司的介绍,目前的大多数虚拟机仅支持特定一种或者少数几种语言。GraalVM 团队在一篇文章中写道,“编译、内存管理以及工具皆针对不同语言进行单独维护,这显然违反了‘不要重复自己(简称 DRY)’这一基本原则。毫无疑问,这将给虚拟机实现者带来更大的操作负担。”
GraalVM 允许外部语言直接使用对象与数组,而无需首行将其转换为不同语言的对应版本。举例来说,该工具允许 Node.js 代码访问 Java 库,或者在 Java 内部调用 Python 例程。凭借着这种强大的灵活性,程序员们将能够利用其认为最合适的语言完成当前的任何任务。
目前发布的首个版本允许开发人员运行各类基于 JVM 的语言,具体包括 Java、Scala、Groovy 或 Kotlin、JavaScript、LLVM 位码以及 Ruby、R 与 Python 的实验性版本。其可以独立运行,亦可作为平台的组成部分嵌入或运行在数据库当中。
目前的核心安装方案为开发人员提供广泛适用于各类语言的调试器、分析器以及 heap 查看器。甲骨文公司亦鼓励第三方开发商利用 Instrumentation API 或语言构建 API 制作工具,从而进一步改善 GraalVM 生态系统。甲骨文公司表示,其将“GraalVM 视为一种语言层级的虚拟化层,允许用户使用所有语言的工具与嵌入资源。”
甲骨文在该虚拟机方案的发布声明当中表示,“首套版本的发布只是开始,我们正在努力改进 GraalVM 的各个方面,特别是对 Python、R 以及 Ruby 语言的支持能力。GraalVM 代表着一套开放的生态系统,我们鼓励大家立足于此构建自己的语言或工具。希望 GraalVM 能够成为一个用于实现标准化语言执行及语言中立工作构建的协作性项目。”
如果,Google 早已解决不了你的问题。
如果,你还想知道 Apple、Facebook、IBM、阿里等国内外名企的核心架构设计。
来,我们在深圳准备了 ArchSummit 全球架构师峰会,想和你分享: