• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答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
    主站蜘蛛池模板: 国内精品久久久久久久久| 婷婷国产成人精品一区二| 午夜精品久久久久9999高清| 亚洲国产精品福利片在线观看| 欧美日激情日韩精品| 国产探花在线精品一区二区| 国自产精品手机在线观看视频| 97久久精品午夜一区二区| 中文字幕一区二区三区日韩精品 | 久久伊人精品青青草原日本| 久久精品国产亚洲网站| 无码久久精品国产亚洲Av影片| 久久精品亚洲男人的天堂| 91亚洲国产成人久久精品| 国产精品福利一区二区久久| 久久国产精品99精品国产| 亚洲国产精品SSS在线观看AV| 老子影院午夜精品无码 | 久久夜色精品国产噜噜麻豆| 香蕉依依精品视频在线播放 | 久久亚洲欧美国产精品| 99久久夜色精品国产网站| 999久久久无码国产精品| 亚洲AV永久无码精品水牛影视| 久久精品国产福利国产琪琪| 国内精品欧美久久精品| 精品国产亚洲男女在线线电影 | 无码精品第一页| 国产精品毛片无码| 亚洲天堂久久精品| 久久精品www| 国产精品欧美亚洲韩国日本| 国产高清国产精品国产专区| 8AV国产精品爽爽ⅴa在线观看| 国产福利精品一区二区| 精品久久久久中文字幕日本| 国产在线精品一区二区在线观看 | 精品无码人妻一区二区三区不卡 | 久久精品视频91| 久久精品国产一区二区电影| 欧美精品福利在线视频|