跨语言也能呼叫物件,甲骨文发表支援多语言的通用虚拟机器GraalVM
2018-04-18 17:47:36 | 来源:ithome | 投稿:米娜 | 编辑:dations

原标题:跨语言也能呼叫物件,甲骨文发表支援多语言的通用虚拟机器GraalVM

甲骨文发表支援多语言的通用虚拟机器GraalVM△1.0,该公司表示,GraalVM实现了为所有开发语言提供一致性能的目标,其新颖的架构所提供的语言独立性,不只能促进程式间的互通性,也提高了程式可维护性。

甲骨文表示,当前用于产品阶段的虚拟机器,都仅针对特定语言或是一小群程式语言提供高效能执行,而编译、记忆体管理以及工具的使用都违反了一次且仅一次原则(Don't△repeat△yourself,DRY)。这样不只会给虚拟机实做工作带来庞大的困难,而且不一致的效能表现以及工具配置也会带给开发者沉重负担。况且不同语言撰写的程式间沟通,序列化及反序列化成本极高,而笨重庞大的高性能虚拟机又难用以嵌入。

甲骨文实验室为了解决现存虚拟机器的缺陷,数年前启动了虚拟机器研究计划,期望以新颖的架构找到新出路,而GraalVM△1.0便是这项研究的最新结果。

GraalVM其强大的功能之一,便是能让程式语言互相呼叫存取对方的物件,而不需要事先进行转换。例如开发者可以用Node.js存取Java函式库,还是以Java呼叫Python程式,抑或是用R语言存取其他语言维护的资料以建立复杂的SVG。甲骨文认为,这种开发弹性,能让开发人员使用最适合的语言完成任务。

目前释出的GraalVM△1.0已经能够支援多类开发语言,像是Java、Scala、Groovy或Kotlin的JVM语言,还有Javascript或是Node.js也可以,另外,由C、C++或是Rust产生的LLVM位元代码,以及Ruby,R和Python都不是问题。

GraalVM可以独立执行,也可以嵌入OpenJDK或Node.js作为平台的一部分,甚至是嵌入MySQL或Oracle△RDBMS等资料库中。应用程序可以通过标准化的GraalVM执行环境,灵活的跨堆叠部署,而在资料处理引擎中,GraalVM能让程式以自定义格式存取,而不需要付出任何结构转换成本。

而对于JVM的语言来说,GraalVM提供了创建预编译原生映像档的机制,不只能立即启动应用程序,而且还具有低记忆体消耗的优点。产生映像档的过程,GraalVM会执行静态分析,从主要Java方法搜寻可用的程式码,并进行完整预编译(Ahead-of-Time,AOT),最后产生原生的二元执行码,能立即启动并执行。

GraalVM提供开发语言虚拟化的概念,让所有语言以及工具都能嵌入使用。甲骨文表示,接下来会特别强化GraalVM对Python,R和Ruby的支援。

tags:

上一篇  下一篇

相关:

Javascript编辑App遭苹果下架,因为名称使用了甲骨文商标Javascript

图片来源: Reddit 有开发者在网络论坛Reddit的Javascript版上贴文,表示他收到苹果(Apple)的来信,告知他的App显示有Javascript字样,已经构成对甲骨文商标的侵权行为,并要求开发者遵守要求并立即停止App服务。有

大数据也能打击毒品!毒品防治资讯平台助台湾新北市防毒更彻底

毒品防治资讯平台能像动态仪表版一样,根据不同月份、不同参数,显示吸毒者的年龄层和性别比,以及使用的毒品名与型态。 图片来源: 摄影/王若朴 台湾新北市政府防毒不余遗力,在去年就领先其他县市、成立全台第一

生1个娃奖励1亿 [热事件]

每个女人都梦想着嫁入豪门,女明星也不例外,有些人挤破了脑门一心想嫁入豪门,但是却被当成了生育工具,女星林夏薇夫家喊话,如果林夏薇生1个娃奖励1亿元港币,这有钱人出手就是壕啊!生孩子奖励 娱乐圈中不少女星都

降低Siri意外被唤醒的机会,苹果用机器学习强化Hey Siri语音分辨能力

继前阵子找来前Google△AI大将John△Giannandrea改善Siri后,苹果近日于苹果的机器学习期刊中,发布用机器学习技术来加强Hey△Siri语音命令的分辨,因为Hey△Siri的指令较简洁,因此有时会分辨不正确,举例来说,在使

苏宁自动送货机器人亮相 [热事件]

大家还记得之前有报道过,京东要成立一个无人机配送站,但是你有听说过自动送货机器人吗?昨天苏宁自动送货机器人亮相了,听到这个消息是不是很惊奇呢!如今的科技社会,时不时都会给我们的生活带来一些新鲜的事物,

站长推荐: