×
新网 > 虚拟主机 > 正文

支持多语言的通用虚拟机GraalVM问世 可提供一致性能

  • 作者:新网
  • 来源:新网
  • 浏览:100
  • 2018-04-24 12:14:12

甲骨文发布多语言的通用虚拟机,其新颖的架构所提供的语言独立性,不只能促进程序间的互通性,也提高了程序可维护性。小编就带大家了解一下它的功能吧。

 cxn_banner.jpg

<div>  甲骨文发布多语言的通用虚拟机,其新颖的架构所提供的语言独立性,不只能促进程序间的互通性,也提高了程序可维护性。小编就带大家了解一下它的功能吧。
  甲骨文表示,当前用于产品阶段的虚拟机,都仅针对特定语言或是一小群程序语言提供高性能执行,而编译、内存管理以及工具的使用都违反了一次且仅一次原则(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的支持。
  甲骨文表示,当前用于产品阶段的虚拟机,都仅针对特定语言或是一小群程序语言提供高性能执行,而编译、内存管理以及工具的使用都违反了一次且仅一次原则(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的支持。
以上就是多语言虚拟机的全部内容。
 

免责声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,也不承认相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,请发送邮件至:operations@xinnet.com进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

免费咨询获取折扣

Loading