fbpx
维基百科

V8 (JavaScript引擎)

V8是一個由Google開發的開源JavaScript引擎,用於Google ChromeChromium[3],項目以V8发动机其命名[4]。此項目由Lars Bak主導開發[5]

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

運作方式 编辑

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

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

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

参考文献 编辑

  1. ^ 1.0 1.1 Chrome Platform Status. [2023年6月29日]. 
  2. ^ 2.0 2.1 Discontinuing release blog posts. 2022年6月17日 [2023年6月19日]. 
  3. ^ Philipp Lenssen. Google on Google Chrome - comic book. Google Blogoscoped. 2008-09-01 [2008-09-01]. (原始内容于2015-06-18). 
  4. ^ Bynens, Mathias. . September 11, 2018 [2019-05-21]. (原始内容存档于2022-05-06). 
  5. ^ Minto, Rob. The genius behind Google's web browser. Financial Times. 27 March 2009 [1 June 2021]. (原始内容于1 December 2011).  
  6. ^ Seeley, Rich; Jack Vaughan. . SOA News. 5 September 2008 [2008-09-07]. (原始内容存档于2010-04-27). 
  7. ^ . Google Code. Google. [17 August 2010]. (原始内容存档于2010年6月6日). 
  8. ^ . [2010-03-17]. (原始内容存档于2015-11-27). 

外部連結 编辑

  • Google Code project page (页面存档备份,存于互联网档案馆
  • cproxyv8 (页面存档备份,存于互联网档案馆)及v8-juice (页面存档备份,存于互联网档案馆) are C++ libraries for extending v8, e.g. to assist in binding client-side C++ classes to JavaScript.
  • v8cgi (页面存档备份,存于互联网档案馆) is a v8-based framework for serving web application written in JavaScript.
  • node.js(页面存档备份,存于互联网档案馆[1](页面存档备份,存于互联网档案馆) is a toolkit for writing performant non-blocking event-driven network servers in JavaScript.
  • Inside V8 - A Javascript Virtual Machine (页面存档备份,存于互联网档案馆

參見 编辑

javascript引擎, v8是一個由google開發的開源javascript引擎, 用於google, chrome及chromium中, 項目以v8发动机其命名, 此項目由lars, bak主導開發, google, javascript引擎google, javascript引擎標誌開發者google首次发布2008年9月2日, 15年前, 2008, 当前版本11, 2023年5月24日, 穩定版本, 源代码库chromium, googlesource, v8编程语言c, 操作系统microsoft,. V8是一個由Google開發的開源JavaScript引擎 用於Google Chrome及Chromium中 3 項目以V8发动机其命名 4 此項目由Lars Bak主導開發 5 Google V8 JavaScript引擎Google V8 JavaScript引擎標誌開發者Google首次发布2008年9月2日 15年前 2008 09 02 当前版本11 4 2023年5月24日 穩定版本 1 2 源代码库chromium wbr googlesource wbr com wbr v8 wbr v8编程语言C 操作系统Microsoft Windows Mac OS X Linux FreeBSD Android webOS类型JavaScript引擎许可协议BSD許可證网站v8 wbr dev 目录 1 運作方式 2 参考文献 3 外部連結 4 參見運作方式 编辑V8在執行之前將JavaScript編譯成了機器碼 而非位元組碼或是解释执行它 以此提升效能 更進一步 使用了如內聯緩存 inline caching 等方法來提高性能 有了這些功能 JavaScript程序與V8引擎的速度媲美二進制編譯 6 传统的Javascript是动态语言 又可稱之為Prototype based Language JavaScript繼承方法是使用prototype 透過指定prototype屬性 便可以指定要繼承的目標 属性可以在运行时添加到或从对象中删除 引擎會为執行中的物件建立一個属性字典 新的属性都要透過字典查找属性在内存中的位置 V8為object新增属性的时候 就以上次的hidden class为父类別 创建新属性的hidden class的子类別 如此一來属性访问不再需要动态字典查找了 為了缩短由垃圾回收造成的停顿 V8使用stop the world generational accurate的垃圾回收器 7 在执行回收之时会暫時中断程序的执行 而且只处理物件堆疊 還會收集內存內所有物件的指標 可以避免内存溢位的情况 V8組譯器是基於Strongtalk組譯器 8 参考文献 编辑 1 0 1 1 Chrome Platform Status 2023年6月29日 2 0 2 1 Discontinuing release blog posts 2022年6月17日 2023年6月19日 Philipp Lenssen Google on Google Chrome comic book Google Blogoscoped 2008 09 01 2008 09 01 原始内容存档于2015 06 18 Bynens Mathias Celebrating 10 years of V8 September 11 2018 2019 05 21 原始内容存档于2022 05 06 Minto Rob The genius behind Google s web browser Financial Times 27 March 2009 1 June 2021 原始内容存档于1 December 2011 nbsp Seeley Rich Jack Vaughan Google Chrome shifts architects equations as V8 powers the browser SOA News 5 September 2008 2008 09 07 原始内容存档于2010 04 27 V8 JavaScript Engine Introduction Google Code Google 17 August 2010 原始内容存档于2010年6月6日 v8 Licenses 2010 03 17 原始内容存档于2015 11 27 外部連結 编辑Google Code project page 页面存档备份 存于互联网档案馆 cproxyv8 页面存档备份 存于互联网档案馆 及v8 juice 页面存档备份 存于互联网档案馆 are C libraries for extending v8 e g to assist in binding client side C classes to JavaScript v8cgi 页面存档备份 存于互联网档案馆 is a v8 based framework for serving web application written in JavaScript node js 页面存档备份 存于互联网档案馆 1 页面存档备份 存于互联网档案馆 is a toolkit for writing performant non blocking event driven network servers in JavaScript Inside V8 A Javascript Virtual Machine 页面存档备份 存于互联网档案馆 參見 编辑 nbsp Google主题 nbsp 软件主题 nbsp 计算机程序设计主题 Google Chrome Chromium 浏览器 JavaScriptCore Dart SpiderMonkey 即时编译 取自 https zh wikipedia org w index php title V8 JavaScript引擎 amp oldid 73272308, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。