Javascript引擎 V8: Google開發的JavaScript引擎

V8是一個由Google開發的開源JavaScript引擎,用於Google Chrome及Chromium中,項目以V8发动机其命名。此項目由Lars Bak主導開發。

Google V8 JavaScript引擎
Google V8 JavaScript引擎標誌
Google V8 JavaScript引擎標誌
開發者Google
首次发布2008年9月2日,​15年前​(2008-09-02
当前版本
  • 11.4 (2023年5月24日;穩定版本)
編輯維基數據鏈接
源代码库 編輯維基數據鏈接
编程语言C++
操作系统Microsoft WindowsMac OS XLinuxFreeBSDAndroidwebOS
类型JavaScript引擎
许可协议BSD許可證
网站v8.dev/ 编辑维基数据

運作方式

V8在執行之前將JavaScript編譯成了機器碼,而非位元組碼或是解释执行它,以此提升效能。更進一步,使用了如內聯緩存(inline caching)等方法來提高性能。有了這些功能,JavaScript程序與V8引擎的速度媲美二進制編譯。

传统的Javascript是动态语言,又可稱之為Prototype-based Language,JavaScript繼承方法是使用prototype,透過指定prototype屬性,便可以指定要繼承的目標。属性可以在运行时添加到或从对象中删除,引擎會为執行中的物件建立一個属性字典,新的属性都要透過字典查找属性在内存中的位置。V8為object新增属性的时候,就以上次的hidden class为父类別,创建新属性的hidden class的子类別,如此一來属性访问不再需要动态字典查找了。

為了缩短由垃圾回收造成的停顿,V8使用stop-the-world, generational, accurate的垃圾回收器。在执行回收之时会暫時中断程序的执行,而且只处理物件堆疊。還會收集內存內所有物件的指標,可以避免内存溢位的情况。V8組譯器是基於Strongtalk組譯器。

参考文献

外部連結

參見

Tags:

Javascript引擎 V8 運作方式Javascript引擎 V8 参考文献Javascript引擎 V8 外部連結Javascript引擎 V8 參見Javascript引擎 V8ChromiumGoogleGoogle ChromeJavaScript引擎V8发动机开源

🔥 Trending searches on Wiki 中文:

周星馳臺南縣李现家族榮耀之繼承者金裕貞 (演員)排球少年!!千与千寻做自己的光張員瑛乔·拜登新西兰朱元璋巴基斯坦周永康蔚藍檔案星空聯盟中華航空姜漢娜Apink財閥家的小兒子伊丽莎白二世切尔诺贝利核事故狼與辛香料高雄市佩特拉顧立雄欧洲周深狐妖小红娘月红篇逆天奇案徐熙娣臺灣日本2019冠状病毒病疫情捷克孔子上海市梅州市馮世寬咒術迴戰藥師少女的獨語蒼鷺與少年埃及凯里·欧文郭品超731部队BLUE LOCK 藍色監獄大力女子姜南順中华人民共和国中国共产党公共電視文化事業基金會猩球崛起:終極決戰泰勒·斯威夫特怪獸8號雙相障礙哈萨克斯坦泰国澳門織田信長秘密的女人方力申南京大屠殺蔣經國謝京穎菲道尔邵氏影城黃子佼基督教唐朝自由亚洲电台進擊的巨人家有女友斯蒂芬·库里王陽明 (演員)乘风2023🡆 More