您好,登錄后才能下訂單哦!
這篇文章主要介紹node.js底層指的是什么語言,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
node.js 使用C++開發的。 它是JS運行平臺(運行環境)。它的語法就是javascript,區別在它是運行在服務器上的。證據 :node的源碼在 GitHub網站上 , 項目根目錄的src文件夾下很多以 .cc 后綴結尾的文件里有class字眼 ( C++有class而C沒有 )
Node.js不為每個客戶連接創建一個新的線程,而僅僅使用一個線程。當有用戶連接了,就觸發一個內部事件,通過非阻塞I/O、事件驅動機制,讓Node.js程序宏觀上也是并行的。使用Node.js,一個8GB內存的服務器,可以同時處理超過4萬用戶的連接。
由于Node.js中采用了非阻塞型I/O機制,因此在執行了訪問數據庫的代碼之后,將立即轉而執行其后面的代碼,把數據庫返回結果的處理代碼放在回調函數中,從而提高了程序的執行效率。
當某個I/O執行完畢時,將以事件的形式通知執行I/O操作的線程,線程執行這個事件的回調函數。為了處理異步I/O,線程必須有事件循環,不斷的檢查有沒有未處理的事件,依次予以處理。
在Node中,客戶端請求建立連接,提交數據等行為,會觸發相應的事件。在Node中,在一個時刻,只能執行一個事件回調函數,但是在執行一個事件回調函數的中途,可以轉而處理其他事件(比如,又有新用戶連接了),然后返回繼續執行原事件的回調函數,這種處理機制,稱為“事件環”機制。
Node.js底層是C++(V8也是C++寫的)。底層代碼中,近半數都用于事件隊列、回調函數隊列的構建。用事件驅動來完成服務器的任務調度,這是鬼才才能想到的。針尖上的舞蹈,用一個線程,擔負起了處理非常多的任務的使命。
Node.js適合用來開發什么樣的應用程序呢?
善于I/O,不善于計算。因為Node.js最擅長的就是任務調度,如果你的業務有很多的CPU計算,實際上也相當于這個計算阻塞了這個單線程,就不適合Node開發。
當應用程序需要處理大量并發的I/O,而在向客戶端發出響應之前,應用程序內部并不需要進行非常復雜的處理的時候,Node.js非常適合。Node.js也非常適合與web socket配合,開發長連接的實時交互應用程序。
Node.js不是一種獨立的語言,與PHP、JSP、Python、Perl、Ruby的“既是語言,也是平臺”不同,Node.js的使用JavaScript進行編程,運行在JavaScript引擎上(V8)。
以上是“node.js底層指的是什么語言”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。