资讯专栏INFORMATION COLUMN

屌炸天,Oracle 发布了一个全栈虚拟机 GraalVM,支持 Python!

hiYoHoo / 957人阅读

摘要:前阵子,发布了一个黑科技,号称是一个全新的通用全栈虚拟机,并具有高性能跨语言交互等逆天特性,真有这么神奇简介是一个跨语言的通用虚拟机,不仅支持了等基于的语言,以及等基于的语言,还支持其他像和语言等。原生镜像加速来看这段代码,同样来自官网。

前阵子,Oracle 发布了一个黑科技 "GraalVM",号称是一个全新的通用全栈虚拟机,并具有高性能、跨语言交互等逆天特性,真有这么神奇?

GraalVM 简介

GraalVM 是一个跨语言的通用虚拟机,不仅支持了 Java、Scala、Groovy、Kotlin 等基于 JVM 的语言,以及 C、C++ 等基于 LLVM 的语言,还支持其他像 JavaScript、Ruby、Python 和 R 语言等。

GraalVM 有以下几个特性。

更加高效快速的运行代码

能与大多数编程语言直接交互

使用 Graal SDK 嵌入多语言

创建预编译的原生镜像

提供一系列工具来监视、调试和配置所有代码

官网:http://www.graalvm.org/
GraalVM 有什么用? 1、支持多种语言组合编程

来看下面这段代码,来自官网。

const express = require("express");
const app = express();
app.listen(3000);
app.get("/", function(req, res) {
  var text = "Hello World!";
  const BigInteger = Java.type(
    "java.math.BigInteger");
  text += BigInteger.valueOf(2)
    .pow(100).toString(16);
  text += Polyglot.eval(
    "R", "runif(100)")[0];
  res.send(text);
})

它同时使用了 Node.js、Java、R 三种语言,是不是很奇葩?

GraalVM 消除了各种编程语言之间的隔离性,那这种多编程语言结合使用会不会有性能影响?官方的说明是:零开销的互操作,这样,我们就可以为应用程序选择最佳的编程语言组合。

2、原生镜像加速

来看这段代码,同样来自官网。

$ javac HelloWorld.java
$ time java HelloWorld
user 0.070s
$ native-image HelloWorld
$ time ./helloworld
user 0.005s

GraalVM 可以预编译成原生镜像,从而极大提速了启动时间,并能减少 JVM 应用的内存占用。

4、可嵌入式运行环境

GraalVM 可以被嵌入到各种应用程序中,既可以独立运行,也可以在已经内置好的 OpenJDK、Node.js、Oracle、MySQL 等环境中运行。

结合上面的特性,我们来看下 GraalVM 的架构图。

GraalVM 版本介绍

如下图所示,GraalVM 提供了社区版和企业版两个版本。

从特性来看,上述所说的高性能、内存优化貌似都在企业版中??企业版或者可能只是在社区版上又增加了额外的提升吧!

社区版下载:github.com/oracle/graal/releases
总结

GraalVM 这玩意看起来很不错,可以说这就是一个全栈开发平台,不仅支持主流编程语言,还能组合在一起编程,根据不同任务来选择最佳的语言。另外。它还能提高更高的执行效率,以及占用更少的内存。

至于应用场景,是否可应用于生产,现在还真不好说。这么一个{{BANNED}}级的产品,我们期待它有更好的发展吧。

@ 程序猿:你们觉得 GraalVM 前景如何,或者有什么实际用途?欢迎留言!

资料:成为架构师的十阶段学习资料!

教程:史上最强 Spring Boot & Cloud 教程汇总

工具:推荐一款在线创作流程图、思维导图软件

扫描关注我们的微信公众号,回复 "666" 可获取一套Java并发编程高清视频教程。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/76500.html

相关文章

  • 我是Java,这是我的2018年总结

    摘要:我是你们热爱的,年过去了,我给你们总结一下这一年发生在我身上的大事。第二件事,中国的那家叫做阿里巴巴的公司正式进入了的执行委员会,这可是个了不起的成就。 摘要: Java年终盘点。 原文:我是Java,这是我的2018年总结 作者:刘欣 微信公众号:码农翻身 Fundebug经授权转载,版权归原作者所有。 我是你们热爱的Java,2018年过去了,我给你们总结一下这一年发生在我身...

    YuboonaZhang 评论0 收藏0
  • 推荐:7 月份值得一看的 Java 技术干货!

    摘要:月底了,又到了我们总结这一个月技术干货的时候了,又到了我们给粉丝免费送书的日子了。 月底了,又到了我们总结这一个月 Java 技术干货的时候了,又到了我们给粉丝免费送书的日子了。 7 月份干货总结 Oracle 发布了一个全栈虚拟机 GraalVM 一文带你深入拆解 Java 虚拟机 图文带你了解 8 大排序算法 Spring Boot 2.x 新特性总结及迁移指南 Spring B...

    saucxs 评论0 收藏0
  • Java11的新特性

    摘要:从版本开始,不再单独发布或者版本了,有需要的可以自己通过去定制官方解读官方细项解读稳步推进系列六的小试牛刀一文读懂的为何如此高效弃用引擎 Java语言特性系列 Java5的新特性 Java6的新特性 Java7的新特性 Java8的新特性 Java9的新特性 Java10的新特性 Java11的新特性 Java12的新特性 Java13的新特性 序 本文主要讲述一下Java11的新...

    April 评论0 收藏0
  • 「真®全栈之路」Web前端开发的后端指南

    前言 在若干次前的一场面试,面试官看我做过python爬虫/后端 的工作,顺带问了我些后端相关的问题:你觉得什么是后端? 送命题。当时脑瓦特了,答曰:逻辑处理和数据增删改查。。。 showImg(https://user-gold-cdn.xitu.io/2019/4/24/16a4ed4fc8c18078); 当场被怼得体无完肤,羞愧难当。事后再反思这问题,结合资料总结了一下。发现自己学过的Re...

    chuyao 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<