<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        Node.js的特點和應用場景介紹

        來源:懂視網 責編:小采 時間:2020-11-27 20:25:53
        文檔

        Node.js的特點和應用場景介紹

        Node.js的特點和應用場景介紹:Node.js應該是當今最火熱的技術之一。本文主要介紹Node.js的特點及應用場景。Node.js是一個基于Chrome JavaScript運行時建立的一個平臺,用來方便地搭建快速的 易于擴展的網絡應用。Node.js借助事件驅動,非阻塞I/O模型變得輕量和高效,非常適合 運行在分
        推薦度:
        導讀Node.js的特點和應用場景介紹:Node.js應該是當今最火熱的技術之一。本文主要介紹Node.js的特點及應用場景。Node.js是一個基于Chrome JavaScript運行時建立的一個平臺,用來方便地搭建快速的 易于擴展的網絡應用。Node.js借助事件驅動,非阻塞I/O模型變得輕量和高效,非常適合 運行在分
        Node.js應該是當今最火熱的技術之一。本文主要介紹Node.js的特點及應用場景。

        Node.js是一個基于Chrome JavaScript運行時建立的一個平臺,用來方便地搭建快速的 易于擴展的網絡應用。Node.js借助事件驅動,非阻塞I/O模型變得輕量和高效,非常適合 運行在分布式設備的數據密集型實時應用。

        1. 特點

        1.1 異步I/O

        所謂的異步I/O,是相對同步I/O而言的。程序執行過程中必然要進行很多I/O操作,如讀寫文件、輸入輸出、請求響應等等。通常來說,I/O操作是非常費時的。例如在傳統的編程模式中,你要讀一個幾G的文件,整個線程都暫停下來,等待文件讀完后繼續執行。換言之,I/O操作阻塞了代碼的執行,極大地降低了程序的效率。

        關于異步I/O,其實對于前端工程師來說并不陌生,因為發起Ajax請求就是最常見的一種“異步”調用。在Node中,以讀取文件(讀文件是一種耗時的I/O操作)為例,它與發起Ajax請求的寫法很像:

        var fs = require('fs');
        fs.readFile('/path', function(err, file) {
         console.log('讀取文件完成');
        });
        console.log('開始讀取文件');

        上述代碼在調用fs.readFile后,后續代碼是被立即執行的,“讀取文件完成”的時刻是無法預知的。當線程遇到I/O操作時不會以阻塞的方式等待I/O操作結束,而只是將I/O請求發送給操作系統,繼續執行后續語句。當操作系統完成I/O操作時以事件的形式通知執行I/O操作的線程,線程會在特定時間處理這個事件。

        1.2 事件循環與回調函數

        所謂事件循環是指Node會把所有的異步操作使用事件機制解決,有個線程在不斷地循環檢測事件隊列。事件循環會檢查事件隊列中有沒有未處理的事件,直到程序結束。事件的編程方式具有輕量級、松耦合、只關注事務點等優勢,但是在多個異步任務的場景下,事件與事件之間各自獨立,如何協作是一個問題。在Javascript中,回調函數無處不在,回調函數是最好的接受異步調用返回數據的方式。

        1.3 單線程

        Node保持了JS在瀏覽器中單線程的特點。單線程的最大好處是不用像多線程編程那樣出處在意狀態的同步問題,沒有死鎖的存在,也沒有線程上下文切換的開銷。單線程也有其弱點,主要表現在三方面:無法利用多核CPU;錯誤會引起整個應用退出,應用的健壯性值得考研;大量計算會占用CPU導致無法繼續調用異步I/O。

        為了解決上述問題,Node采用了與HTML5 Web Workers相同的思路,使用child_process來解決但單線程中大計算量的問題。通過將計算分發到各個子進程,可以將大量計算分解掉,然后再通過進程之間的事件消息來傳遞結果。

        1.4 跨平臺

        Node是跨平臺的,即同樣的一套JS代碼都可以部署運行在Windows、Linux、OSX等平臺。這主要得益于Node在操作系統與Node上層模塊系統之間構建了一層平臺層架構libuv。

        Node.js的特點和應用場景介紹

        2. 應用場景

        1)、實時應用:如在線聊天,實時通知推送等等(如socket.io)
        2)、分布式應用:通過高效的并行I/O使用已有的數據
        3)、工具類應用:海量的工具,小到前端壓縮部署(如grunt),大到桌面圖形界面應用程序
        4)、游戲類應用:游戲領域對實時和并發有很高的要求(如網易的pomelo框架)
        5)、利用穩定接口提升Web渲染能力
        6)、前后端編程語言環境統一:前端開發人員可以非??焖俚厍腥氲椒掌鞫说拈_發(如著名的純Javascript全棧式MEAN架構)

        更多Node.js的特點和應用場景介紹相關文章請關注PHP中文網!

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        Node.js的特點和應用場景介紹

        Node.js的特點和應用場景介紹:Node.js應該是當今最火熱的技術之一。本文主要介紹Node.js的特點及應用場景。Node.js是一個基于Chrome JavaScript運行時建立的一個平臺,用來方便地搭建快速的 易于擴展的網絡應用。Node.js借助事件驅動,非阻塞I/O模型變得輕量和高效,非常適合 運行在分
        推薦度:
        標簽: 使用 特點 的特點
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲制服丝袜第一页| 亚洲自偷自偷偷色无码中文| 亚洲AV午夜成人影院老师机影院| 亚洲av片在线观看| 搡女人真爽免费视频大全| 亚洲女人18毛片水真多| 久久国产乱子伦精品免费一| 亚洲午夜未满十八勿入网站2| 国产精品手机在线亚洲| 日韩一区二区三区免费体验| 亚洲日本在线电影| 永久免费毛片手机版在线看| 亚洲熟妇无码八V在线播放| 一个人看的www在线观看免费| 亚洲毛片基地日韩毛片基地| 99久久99久久精品免费看蜜桃| 91大神亚洲影视在线| 国产免费丝袜调教视频| 在线综合亚洲中文精品| 免费观看的毛片手机视频| 亚洲精品天堂成人片AV在线播放| 最近最新中文字幕完整版免费高清| 亚洲一区免费在线观看| 成人网站免费观看| 亚洲av无码日韩av无码网站冲 | 亚洲国产精品张柏芝在线观看| 91热成人精品国产免费| 亚洲午夜一区二区电影院| 久久国内免费视频| 免费不卡在线观看AV| 久久久久亚洲av无码专区导航| 91大神在线免费观看| 在线亚洲午夜片AV大片| 国产精品成人免费综合| 中文在线免费视频| 亚洲神级电影国语版| 免费的一级片网站| www.av在线免费观看| 亚洲国产一区在线| 日本免费人成黄页网观看视频| 一级毛片免费观看不收费|