Node.js和Chrome V8 引擎了解


     說起Node就不得不先介紹一個Chrome V8 引擎。

      隨着Web相關技術的發展,JavaScript所要承擔的工作也越來越多,早就超越了“表單驗證”的范疇,這就更需要快速的解析和執行JavaScript腳本。 而JavaScript本質上是一種解釋型語言,與編譯型語言不同的是它需要邊執行邊解析,而編譯型語言在執行時已經完成編譯,可直接執行,有更快的執行速度。V8引擎就是為解決這一問題而生,在node中也是采用該引擎來解析JavaScript。

       V8引擎是一個JavaScript引擎實現,最初由一些語言方面專家設計,后被谷歌收購,隨后谷歌對其進行了開源。V8使用C++開發,,在運行JavaScript之前,相比其它的JavaScript的引擎轉換成字節碼或解釋執行,V8將其編譯成原生機器碼(IA-32, x86-64, ARM, or MIPS CPUs),並且使用了如內聯緩存(inline caching)等方法來提高性能。有了這些功能,JavaScript程序在V8引擎下的運行速度媲美二進制程序。V8支持眾多操作系統,如windows、linux、android等,也支持其他硬件架構,如IA32,X64,ARM等,具有很好的可移植和跨平台特性。

     另外,JavaScript引擎的執行過程大致是: 源代碼-→抽象語法樹-→字節碼-→JIT-→本地代碼(V8引擎沒有中間字節碼)。在2017年4月底,v8 發布了5.9 版本,在此版本中新增了一個 Ignition 字節碼解釋器,並默認開啟。做出這一改變的原因為:(主要動機)減輕機器碼占用的內存空間,即犧牲時間換空間;提高代碼的啟動速度;對 v8 的代碼進行重構,降低 v8 的代碼復雜度。

    接着簡單介紹一下Node,官網:http://nodejs.cn/api/

    Node.js 是一個基於 Chrome V8 引擎的 JavaScript 運行環境。Node.js 使用了一個事件驅動、非阻塞式 I/O 的模型,使其輕量又高效。

    Node 是一個讓 JavaScript 運行在服務端的開發平台,它讓 JavaScript 成為與PHP、Python、Perl、Ruby 等服務端語言平起平坐的腳本語言。發布於2009年5月,由Ryan Dahl開發,實質是對Chrome V8引擎進行了封裝。
    Node對一些特殊用例進行優化,提供替代的API,使得V8在非瀏覽器環境下運行得更好。V8引擎執行Javascript的速度非常快,性能非常好。 Node是一個基於Chrome JavaScript運行時建立的平台, 用於方便地搭建響應速度快、易於擴展的網絡應用。Node 使用事件驅動, 非阻塞I/O 模型而得以輕量和高效,非常適合在分布式設備上運行數據密集型的實時應用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM