0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Chrome支持運(yùn)行Kotlin、Java等GC編程語(yǔ)言

OSC開(kāi)源社區(qū) ? 來(lái)源:OSC開(kāi)源社區(qū) ? 2023-11-24 11:43 ? 次閱讀

谷歌 Chrome 開(kāi)發(fā)者博客官宣:Chrome 已默認(rèn)啟用 WebAssembly 垃圾回收 (WasmGC) 功能 —— 能夠?qū)⒕哂?GC 的編程語(yǔ)言編譯為 WebAssembly (Wasm)。 下面是示例代碼

Kotlin Wasm

import kotlinx.browser.document import kotlinx.dom.appendText import org.w3c.dom.HTMLDivElement fun main() { (document.getElementById(“warning”) as HTMLDivElement).style.display = “none” document.body?.appendText(“Hello, ${greet()}!”) } fun greet() = “world”

據(jù)介紹,WasmGC 是 WebAssembly 社區(qū)群組發(fā)布的一項(xiàng)提案。當(dāng)前的 Wasm 最小可行化實(shí)現(xiàn)只能處理線性內(nèi)存中的 number 類型數(shù)據(jù),即整數(shù)和浮點(diǎn)數(shù)。隨著引用類型 (reference types) 提案的發(fā)布,Wasm 還可以保留外部引用。 WasmGC 現(xiàn)在添加了結(jié)構(gòu)體和數(shù)組堆類型,因此支持非線性內(nèi)存分配。

每個(gè) WasmGC 對(duì)象都有固定的類型和結(jié)構(gòu),這使得虛擬機(jī)可以輕松生成有效的代碼來(lái)訪問(wèn)其字段,而不會(huì)像 JavaScript 等動(dòng)態(tài)語(yǔ)言那樣存在去優(yōu)化的風(fēng)險(xiǎn)。 因此,該提案通過(guò)結(jié)構(gòu)和數(shù)組堆類型為 WebAssembly 增加了對(duì)高級(jí)托管語(yǔ)言的有效支持,使得針對(duì) Wasm 的語(yǔ)言編譯器能夠與主機(jī) VM 中的垃圾回收器集成。簡(jiǎn)單來(lái)說(shuō),通過(guò) WasmGC,將編程語(yǔ)言移植到 Wasm 意味著編程語(yǔ)言的垃圾回收器不再需要成為移植的一部分,而是可以直接使用現(xiàn)有的垃圾回收器。

審核編輯:黃飛

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 谷歌
    +關(guān)注

    關(guān)注

    27

    文章

    6099

    瀏覽量

    104771
  • JAVA
    +關(guān)注

    關(guān)注

    19

    文章

    2946

    瀏覽量

    104362
  • 編程語(yǔ)言
    +關(guān)注

    關(guān)注

    10

    文章

    1919

    瀏覽量

    34500
  • Chrome
    +關(guān)注

    關(guān)注

    0

    文章

    340

    瀏覽量

    17961

原文標(biāo)題:Chrome支持運(yùn)行Kotlin、Java等GC編程語(yǔ)言

文章出處:【微信號(hào):OSC開(kāi)源社區(qū),微信公眾號(hào):OSC開(kāi)源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    三十分鐘入門(mén)基礎(chǔ)Go Java小子版

    語(yǔ)法與 C 相近,但功能上有:內(nèi)存安全,GC,結(jié)構(gòu)形態(tài)及 CSP-style 并發(fā)計(jì)算。 適用范圍 本篇文章適用于學(xué)習(xí)過(guò)其他面向?qū)ο?b class='flag-5'>語(yǔ)言(Java、Php),但沒(méi)有學(xué)過(guò)Go語(yǔ)言的初學(xué)者
    的頭像 發(fā)表于 08-12 14:32 ?633次閱讀
    三十分鐘入門(mén)基礎(chǔ)Go <b class='flag-5'>Java</b>小子版

    華納云:java web和java有什么區(qū)別java web和java有什么區(qū)別

    的平臺(tái),Java可以用于開(kāi)發(fā)桌面應(yīng)用程序、移動(dòng)應(yīng)用程序、企業(yè)級(jí)應(yīng)用程序。 – Java Web是Java語(yǔ)言在Web開(kāi)發(fā)領(lǐng)域的應(yīng)用,它使用
    的頭像 發(fā)表于 07-16 13:35 ?501次閱讀
    華納云:<b class='flag-5'>java</b> web和<b class='flag-5'>java</b>有什么區(qū)別<b class='flag-5'>java</b> web和<b class='flag-5'>java</b>有什么區(qū)別

    四種編程語(yǔ)言之間的區(qū)別和聯(lián)系

    編程語(yǔ)言是一種人與計(jì)算機(jī)之間進(jìn)行交流的方式,不同的編程語(yǔ)言有著不同的特點(diǎn)和用途。本文將對(duì)四種常見(jiàn)的編程語(yǔ)
    的頭像 發(fā)表于 02-05 14:16 ?1264次閱讀

    c語(yǔ)言,c++,java,python區(qū)別

    操作系統(tǒng)、嵌入式系統(tǒng)對(duì)性能要求較高的場(chǎng)景。C語(yǔ)言的語(yǔ)法相對(duì)簡(jiǎn)單,學(xué)習(xí)曲線較平緩,也是學(xué)習(xí)其他高級(jí)語(yǔ)言的入門(mén)語(yǔ)言。 C++: C++是在C語(yǔ)言
    的頭像 發(fā)表于 02-05 14:11 ?1627次閱讀

    java環(huán)境配置成功后怎么運(yùn)行

    Java環(huán)境配置成功后,我們可以使用幾種方式來(lái)運(yùn)行Java程序。下面將詳細(xì)介紹這幾種方式以及其使用方法。 命令行運(yùn)行方式 在成功配置Java
    的頭像 發(fā)表于 12-06 15:57 ?1676次閱讀

    idea的java運(yùn)行配置怎么弄

    Java是一種跨平臺(tái)的編程語(yǔ)言,可以通過(guò)Java虛擬機(jī)(JVM)在不同的操作系統(tǒng)和硬件上運(yùn)行。在運(yùn)行
    的頭像 發(fā)表于 12-06 14:04 ?1989次閱讀

    idea可以運(yùn)行eclipse項(xiàng)目嗎

    可以運(yùn)行Eclipse項(xiàng)目。Eclipse是一個(gè)開(kāi)發(fā)環(huán)境,主要用于Java程序的開(kāi)發(fā),但它也支持其他編程語(yǔ)言如C++、Python
    的頭像 發(fā)表于 12-06 13:57 ?2062次閱讀

    eclipse怎么運(yùn)行java項(xiàng)目

    在Eclipse中運(yùn)行Java項(xiàng)目是非常簡(jiǎn)單的。下面了解一下如何在Eclipse中運(yùn)行Java項(xiàng)目。 首先,確保您已經(jīng)在Eclipse中創(chuàng)建了Jav
    的頭像 發(fā)表于 12-06 11:25 ?1850次閱讀

    Python運(yùn)行環(huán)境有哪些

    ,也是最常用的解釋器。它是用C語(yǔ)言編寫(xiě)的,支持C的擴(kuò)展和嵌入。CPython可以在各個(gè)操作系統(tǒng)上運(yùn)行,并提供了Python的核心功能。 JPython: JPython是Python的Java
    的頭像 發(fā)表于 11-29 16:14 ?1774次閱讀

    java程序必須以什么為文件擴(kuò)展名

    Java是一種高級(jí)編程語(yǔ)言,由Sun Microsystems(后來(lái)被Oracle收購(gòu))開(kāi)發(fā)并首次發(fā)布于1995年。Java編程
    的頭像 發(fā)表于 11-29 14:24 ?999次閱讀

    C語(yǔ)言運(yùn)行環(huán)境是什么

    C語(yǔ)言運(yùn)行環(huán)境(C language runtime environment)是指在執(zhí)行C語(yǔ)言程序時(shí)所需的軟件及硬件環(huán)境。C語(yǔ)言是一種面向過(guò)程的編程
    的頭像 發(fā)表于 11-27 16:13 ?3141次閱讀

    javascript運(yùn)行環(huán)境有哪些

    JavaScript 是一種廣泛應(yīng)用于網(wǎng)頁(yè)開(kāi)發(fā)的編程語(yǔ)言,它可以在不同的運(yùn)行環(huán)境下運(yùn)行。以下是一些常見(jiàn)的 JavaScript 運(yùn)行環(huán)境:
    的頭像 發(fā)表于 11-27 16:11 ?2359次閱讀

    java中常用的包有哪些

    java.lang包:是Java編程語(yǔ)言的核心包,它包含Java編程
    的頭像 發(fā)表于 11-22 15:10 ?1206次閱讀

    javaweb和java有什么區(qū)別

    對(duì)象、一次編寫(xiě)多處運(yùn)行特點(diǎn)。Java語(yǔ)言可以用于開(kāi)發(fā)各種類型的應(yīng)用程序,包括桌面應(yīng)用、移動(dòng)應(yīng)用和Web應(yīng)用。 Javaweb則是基于
    的頭像 發(fā)表于 11-16 10:49 ?3206次閱讀

    OpenHarmony技術(shù)大會(huì) | 編程語(yǔ)言及開(kāi)發(fā)框架分論壇圓滿舉辦:從更新迭代中找尋發(fā)展

    點(diǎn)擊藍(lán)字 ╳ 關(guān)注我們 開(kāi)源項(xiàng)目 OpenHarmony 是每個(gè)人的 OpenHarmony 眾所周知,編程語(yǔ)言和開(kāi)發(fā)框架是影響應(yīng)用體驗(yàn)和應(yīng)用生態(tài)的關(guān)鍵要素,持續(xù)更新與發(fā)展至關(guān)重要。從編程語(yǔ)言
    的頭像 發(fā)表于 11-11 21:15 ?1025次閱讀