深度理解nodejs[1]-node底層機制
阿新 • • 發佈:2018-11-12
nodejs作為javascript在後端執行的環境,原始碼由js與C完成。本質上,nodejs是藉助於谷歌V8引擎來執行javascript程式碼。使用了C的libuv庫來處理網路,訪問檔案系統等操作。
nodejs的作用
1、提供一種介面,僅僅書寫javascript的程式碼,就可以讓他們正確執行,不用書寫C++程式碼。
2、豐富的api。http、fs、path、crypto …modules
nodejs原始碼
nodejs原始碼:
lib:nodejs庫函式
src:庫函式的C++實現。
pbkdf2中js程式碼
pbkdf2函式的實現:node/lib/internal/crypto/pbkdf2.js
1 |
function pbkdf2(password, salt, iterations, keylen, digest, callback) { |
internalBinding連結javascript程式碼與C++程式碼。
pbkdf2中c++程式碼
crypto庫原始碼實現:node/src/node_crypto.cc
1 |
繫結 |
v8
node/src/node_crypto.cc中我們還會看到很多的v8,將javascript型別轉換為c++型別
1 |
using v8::Array; |
libuv
node/src/node_crypto.cc中我們還會看到很多的libuv,處理併發操作。
1 |
... |
版權宣告: 本部落格所有文章除特別宣告外,均採用 CC BY 4.0 CN協議 許可協議。轉載請註明出處!