java的虚拟机不支持在鲲鹏上_屌炸天,Oracle 发布了一个全栈虚拟机 GraalVM,支持 Python!...
前陣子,Oracle 發(fā)布了一個(gè)黑科技 “GraalVM”,號(hào)稱(chēng)是一個(gè)全新的通用全棧虛擬機(jī),并具有高性能、跨語(yǔ)言交互等逆天特性,真有這么神奇?
GraalVM 簡(jiǎn)介
GraalVM 是一個(gè)跨語(yǔ)言的通用虛擬機(jī),不僅支持了 Java、Scala、Groovy、Kotlin 等基于 JVM 的語(yǔ)言,以及 C、C++ 等基于 LLVM 的語(yǔ)言,還支持其他像 JavaScript、Ruby、Python 和 R 語(yǔ)言等。
GraalVM 有以下幾個(gè)特性。
更加高效快速的運(yùn)行代碼
能與大多數(shù)編程語(yǔ)言直接交互
使用 Graal SDK 嵌入多語(yǔ)言
創(chuàng)建預(yù)編譯的原生鏡像
提供一系列工具來(lái)監(jiān)視、調(diào)試和配置所有代碼
GraalVM 有什么用?
1、支持多種語(yǔ)言組合編程
來(lái)看下面這段代碼,來(lái)自官網(wǎng)。
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);
})
它同時(shí)使用了 Node.js、Java、R 三種語(yǔ)言,是不是很奇葩?
GraalVM 消除了各種編程語(yǔ)言之間的隔離性,那這種多編程語(yǔ)言結(jié)合使用會(huì)不會(huì)有性能影響?官方的說(shuō)明是:零開(kāi)銷(xiāo)的互操作,這樣,我們就可以為應(yīng)用程序選擇最佳的編程語(yǔ)言組合。
2、原生鏡像加速
來(lái)看這段代碼,同樣來(lái)自官網(wǎng)。
$ javac HelloWorld.java
$ time java HelloWorld
user 0.070s
$ native-image HelloWorld
$ time ./helloworld
user 0.005s
GraalVM 可以預(yù)編譯成原生鏡像,從而極大提速了啟動(dòng)時(shí)間,并能減少 JVM 應(yīng)用的內(nèi)存占用。
4、可嵌入式運(yùn)行環(huán)境
GraalVM 可以被嵌入到各種應(yīng)用程序中,既可以獨(dú)立運(yùn)行,也可以在已經(jīng)內(nèi)置好的 OpenJDK、Node.js、Oracle、MySQL 等環(huán)境中運(yùn)行。
結(jié)合上面的特性,我們來(lái)看下 GraalVM 的架構(gòu)圖。
GraalVM 版本介紹
如下圖所示,GraalVM 提供了社區(qū)版和企業(yè)版兩個(gè)版本。
從特性來(lái)看,上述所說(shuō)的高性能、內(nèi)存優(yōu)化貌似都在企業(yè)版中??企業(yè)版或者可能只是在社區(qū)版上又增加了額外的提升吧!
社區(qū)版下載:github.com/oracle/graal/releases
總結(jié)
GraalVM 這玩意看起來(lái)很不錯(cuò),可以說(shuō)這就是一個(gè)全棧開(kāi)發(fā)平臺(tái),不僅支持主流編程語(yǔ)言,還能組合在一起編程,根據(jù)不同任務(wù)來(lái)選擇最佳的語(yǔ)言。另外。它還能提高更高的執(zhí)行效率,以及占用更少的內(nèi)存。
至于應(yīng)用場(chǎng)景,是否可應(yīng)用于生產(chǎn),現(xiàn)在還真不好說(shuō)。這么一個(gè)變態(tài)級(jí)的產(chǎn)品,我們期待它有更好的發(fā)展吧。
@ 程序猿:你們覺(jué)得 GraalVM 前景如何,或者有什么實(shí)際用途?歡迎留言!
掃描關(guān)注我們的微信公眾號(hào),回復(fù) “666” 可獲取一套Java并發(fā)編程高清視頻教程。
總結(jié)
以上是生活随笔為你收集整理的java的虚拟机不支持在鲲鹏上_屌炸天,Oracle 发布了一个全栈虚拟机 GraalVM,支持 Python!...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java opencv yuv_Java
- 下一篇: python3 数组重复数字,[pyth