国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

服務(wù)器資訊|IT/互聯(lián)網(wǎng)|云計(jì)算|區(qū)塊鏈|軟件資訊|操作系統(tǒng)|手機(jī)數(shù)碼|百科知識(shí)|免費(fèi)資源|頭條新聞|

服務(wù)器之家 - 新聞資訊 - 軟件資訊 - 首個(gè)運(yùn)行 WebAssembly 的 Java 庫(kù) Wasmer JNI 出現(xiàn)了

首個(gè)運(yùn)行 WebAssembly 的 Java 庫(kù) Wasmer JNI 出現(xiàn)了

2020-05-16 21:24開(kāi)源中國(guó) 軟件資訊

用于執(zhí)行 WebAssembly 二進(jìn)制程序的Wasmer 公開(kāi)了目前業(yè)內(nèi)首個(gè)支持WebAssembly 的Java 擴(kuò)展庫(kù) Wasmer JNI。

用于執(zhí)行 WebAssembly 二進(jìn)制程序的Wasmer 公開(kāi)了目前業(yè)內(nèi)首個(gè)支持WebAssembly 的Java 擴(kuò)展庫(kù) Wasmer JNI。

首個(gè)運(yùn)行 WebAssembly 的 Java 庫(kù) Wasmer JNI 出現(xiàn)了

根據(jù)介紹,此次開(kāi)源出來(lái)的 Wasmer JNI 的特性包括:

•易于使用:API 模仿標(biāo)準(zhǔn)的 WebAssembly API

•快:極盡可能運(yùn)行 WebAssembly 模塊

•安全:對(duì) WebAssembly 的所有調(diào)用完全安全并且沙箱化隔離

Wasmer JNI 庫(kù)為不同平臺(tái)生成 JAR 包,目前支持:

•amd64-darwin:macOS、x86 64

•amd64-linux:Linux、x86 64

•amd64-windows:Windows、x86 64位

同時(shí)開(kāi)發(fā)者可以為自己的平臺(tái)和架構(gòu)生成自己的 JAR。

性能方面,由于 Wasmer JNI 是首個(gè)執(zhí)行 WebAssembly 的 Java 庫(kù),因此無(wú)法與 Java 生態(tài)中的其它項(xiàng)目作比較,但是,不過(guò)因?yàn)?Wasmer 自身的設(shè)計(jì)上有優(yōu)勢(shì),它帶有 3 個(gè)后端:Singlepass、Cranelift 與 LLVM,Wasmer JNI 庫(kù)目前使用 Cranelift 后端,這在編譯時(shí)間和執(zhí)行時(shí)間之間提供了最佳折衷方案。Wasmer 在 WebAssembly 服務(wù)器運(yùn)行時(shí)領(lǐng)域居于領(lǐng)先地位,去年獲得了InfoWorld 2019 年最佳開(kāi)源軟件獎(jiǎng)。

來(lái)看一個(gè)從 Java 調(diào)用 WebAssembly 的 demo:

從一個(gè)簡(jiǎn)單的 Rust 程序入手,將其編譯為 WebAssembly,然后從 Java 執(zhí)行。

#[no_mangle]pub extern fn sum(x: i32, y: i32) -> i32 { x + y}

編譯為 WebAssembly 后,得到一個(gè)名為simple.wasm 的文件。

接著 Java 程序通過(guò)傳遞 5 和 37 這兩個(gè)參數(shù)來(lái)執(zhí)行 sum 函數(shù):

import org.wasmer.Instance;import java.io.IOException;import java.nio.file.Files;import java.nio.file.Paths;class SimpleExample { public static void main(String[] args) throws IOException { // Read the WebAssembly bytes.

byte[] bytes = Files.readAllBytes(Paths.get("simple.wasm")); // Instantiate the WebAssembly module.

Instance instance = new Instance(bytes); // Get the `sum` exported function, call it by passing 5 and 37, and get the result.

Integer result = (Integer) instance.exports.getFunction("sum").apply(5, 37)[0]; assert result == 42; instance.close(); }}

可以看到,Wasmer JNI 的API 與標(biāo)準(zhǔn) JavaScript API 非常相似。

WebAssembly也叫 WASM,它是為基于棧的虛擬機(jī)設(shè)計(jì)的二進(jìn)制指令格式,WASM作為可移植目標(biāo),用于編譯高級(jí)語(yǔ)言(如 C/C++/Rust),從而可以在Web 上部署高性能客戶端和服務(wù)器應(yīng)用,同時(shí)它也可以在許多其它環(huán)境中使用。

WebAssembly 描述了一種內(nèi)存安全的沙箱執(zhí)行環(huán)境,該環(huán)境甚至可以在現(xiàn)有 JavaScript 虛擬機(jī)內(nèi)部實(shí)現(xiàn)。當(dāng)嵌入到 Web 中時(shí),WebAssembly 將強(qiáng)制執(zhí)行瀏覽器的同源和權(quán)限安全策略。

WASM 有多種實(shí)現(xiàn),包括瀏覽器和獨(dú)立系統(tǒng),它可以用于視頻和音頻編解碼器、圖形和 3D、多媒體和游戲、密碼計(jì)算或便攜式語(yǔ)言實(shí)現(xiàn)等應(yīng)用。目前 Wasm 已經(jīng)支持 Chrome、Firefox、Safari 與 Edge 瀏覽器。

對(duì)于 Web 來(lái)說(shuō),因?yàn)槠涮摂M指令集設(shè)計(jì),WebAssembly 可讓加載的頁(yè)面以本地編譯代碼運(yùn)行,從而可以提高Web 性能。換句話說(shuō),WebAssembly 可以實(shí)現(xiàn)接近本地的性能,并且優(yōu)化加載時(shí)間,同時(shí)最重要的是,它可以作為現(xiàn)有代碼庫(kù)的編譯目標(biāo)。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美美女黄色网 | 中文字幕在线精品 | 精品日韩在线观看 | 久久合| 久久久高清 | 男人午夜天堂 | 国产激情91久久精品导航 | 国产91精品久久久久 | 中文字幕日产乱码六区小草 | 欧美激情精品久久久久久 | 亚洲一区二区三区四区五区中文 | 国内精品久久久久久中文字幕 | 久久久精品日本 | 综合久久久久 | 成人免费一区二区三区视频网站 | 国产色秀视频在线观看 | 精品国产成人在线 | 国产精品无码久久久久 | 国产视频久久 | 欧美一区二区三区 | 亚洲欧美日韩一区二区 | 视频一区二区三区在线观看 | 精品无码久久久久久久动漫 | 羞羞视频免费网站 | 一级大毛片 | 成人午夜影院 | 中文字幕影视 | 免费中文字幕 | 国产欧美日韩综合精品一区二区 | 国产精品伦理 | 久久精品91 | 一区二区视频 | 日韩成人在线一区 | 91av视频在线 | 国产成人精品一区二区三区四区 | 成人国产精品一级毛片视频 | 亚洲国产精品一区二区久久,亚洲午夜 | 国产98色在线 | 日韩 | 精品久久久久久久久久久 | 欧美精品日韩 | 成人在线免费观看小视频 |