javascript v8是一個由Google開發的開源JavaScript引擎,用於Google Chrome及Chromium中;V8在執行之前將JavaScript編譯成了機器代碼,而非字節碼或是解釋執行它,以此提升性能。
本文操作環境:windows7系統、javascript1.8.5版、DELL G3電腦
javascript v8是什麼?
V8是一個由Google開發的開源JavaScript引擎,用於Google Chrome及Chromium中。 Lars Bak是這個計畫的組長,以V8引擎為其命名。
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彙編器。
推薦學習:《javascript基礎教學》
以上是javascript v8是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!