中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

node.js底層指的是什么語言

發布時間:2020-11-23 13:56:19 來源:億速云 閱讀:187 作者:小新 欄目:web開發

這篇文章主要介紹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底層指的是什么語言”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

开阳县| 锡林郭勒盟| 辉县市| 三台县| 中阳县| 沁源县| 开远市| 翁源县| 安泽县| 荣昌县| 绵阳市| 宣城市| 镇远县| 罗城| 长乐市| 普安县| 闵行区| 南江县| 寻甸| 滕州市| 平乐县| 闽侯县| 依兰县| 寿宁县| 英吉沙县| 新晃| 姚安县| 建湖县| 左云县| 清原| 会东县| 天柱县| 沾益县| 孙吴县| 固阳县| 顺平县| 雷山县| 连城县| 手游| 兖州市| 大连市|