Node.Js--学习笔记(一)NodeJs初识

本文深入解析Node.Js的三大核心特性:单线程、非阻塞I/O和事件驱动,以及其在I/O密集型应用和长连接场景下的优势。同时,文章也讨论了Node.Js的局限性和安全性问题。

一。Node.Js认识

1.Node.Js是什么?

   Node.Js就是在后端运行javascript代码,所以想要使用Node.Js必须在本机上安装Node.Js环境

2.Node.Js如何安装?

官网下载地址:https://nodejs.org/en/download/

安装完成后,在cmd中输入node -v命令即可验证

3.Node.Js目录

二。Node.Js特点

Node.Js有三大特点:单线程,非阻塞I/O,事件驱动

     1)单线程

          其他基本都是多线程处理任务,而Node.Js是单线程处理任务

         1.1)为什么使用单线程?

                 单线程能够保证cpu效率是100%,也就是你有一个人使劲再使劲帮你做一件事情;但是单线程也有缺陷,

                 大家都知道,单线程处理任务会消耗内存,当一个事件在回调完成时(等待结果返回)会结束线程,所以才会有第二个特点非阻塞I/O

     2)非阻塞I/O

           当一个任务在等待结果时会有一段等待期,也就是阻塞期,那么Node.Js才会有非阻塞I/O,能够在这段等待期让其他事件执行,但是又会有一个问题抛出,那就是假如当上一个任务拿到了结果那么就会关闭线程,这样会导致后面的任务无法进行,因为他们都是在一个线程里执行,所以又会有第三个特点事件驱动

     3)事件驱动

           当上个任务执行完后,会让线程从其他事件中拿取事件继续运行,也就是事件循环

三。Node.Js的业务场景

       Node.Js适用于I/O,不适用于计算,适合开发长连接

       缺点:Node.Js不可能会代替掉老牌语言,因为Node.Js的单线程特点就不能够,不够安全

简单的总结了一下,有不足的地方请大家指出来

 

          

Error: Package: 1:npm-8.19.4-1.16.20.2.1.el7.x86_64 (epel) Requires: nodejs = 1:16.20.2-1.el7 Installed: 2:nodejs-16.20.2-1nodesource.x86_64 (@nodesource-nodejs) nodejs = 2:16.20.2-1nodesource Available: 1:nodejs-16.20.2-1.el7.x86_64 (epel) nodejs = 1:16.20.2-1.el7 Available: 2:nodejs-16.0.0-1nodesource.x86_64 (nodesource-nodejs) nodejs = 2:16.0.0-1nodesource Available: 2:nodejs-16.1.0-1nodesource.x86_64 (nodesource-nodejs) nodejs = 2:16.1.0-1nodesource Available: 2:nodejs-16.2.0-1nodesource.x86_64 (nodesource-nodejs) nodejs = 2:16.2.0-1nodesource Available: 2:nodejs-16.3.0-1nodesource.x86_64 (nodesource-nodejs) nodejs = 2:16.3.0-1nodesource Available: 2:nodejs-16.4.0-1nodesource.x86_64 (nodesource-nodejs) nodejs = 2:16.4.0-1nodesource Available: 2:nodejs-16.4.1-1nodesource.x86_64 (nodesource-nodejs) nodejs = 2:16.4.1-1nodesource Available: 2:nodejs-16.4.2-1nodesource.x86_64 (nodesource-nodejs) nodejs = 2:16.4.2-1nodesource Available: 2:nodejs-16.5.0-1nodesource.x86_64 (nodesource-nodejs) nodejs = 2:16.5.0-1nodesource Available: 2:nodejs-16.6.0-1nodesource.x86_64 (nodesource-nodejs) nodejs = 2:16.6.0-1nodesource Available: 2:nodejs-16.6.1-1nodesource.x86_64 (nodesource-nodejs) nodejs = 2:16.6.1-1nodesource Available: 2:nodejs-16.6.2-1nodesource.x86_64 (nodesource-nodejs) nodejs = 2:16.6.2-1nodesource Available: 2:nodejs-16.7.0-1nodesource.x86_64 (nodesource-nodejs) nodejs = 2:16.7.0-1nodesource Available: 2:nodejs-16.8.0-1nodesource.x86_64 (nodesource-nodejs) nodejs = 2:16.8.0-1nodesource Available: 2:nodejs-16.9.0-1nodesource.x86_64 (nodesource-nodejs) nodejs = 2:16.9.0-1nodesource Available: 2:nodejs-16.9.1-1nodesource.x86_64 (nodesource-nodejs) nodejs = 2:16.9.1-1nodesource Available: 2:nodejs-16.10.0-1nodesource.x86_64 (nodesource-nodejs) nodejs = 2:16.10.0-1nodesource Available: 2:nodejs-16.11.0-1nodesource.x86_64 (nodesource-nodejs) nodejs = 2:16.11.0-1nodesource Available: 2:nodejs-16.11.1-1nodesource.x86_64 (nodesource-nodejs) nodejs = 2:16.11.1-1nodesource Available: 2:nodejs-16.12.0-1nodesource.x86_64 (nodesource-nodejs) nodejs = 2:16.12.0-1nodesource Available: 2:nodejs-16.13.0-1nodesource.x86_64 (nodesource-nodejs) nodejs = 2:16.13.0-1nodesource Available: 2:nodejs-16.13.1-1nodesource.x86_64 (nodesource-nodejs) nodejs = 2:16.13.1-1nodesource Available: 2:nodejs-16.13.2-1nodesource.x86_64 (nodesource-nodejs) nodejs = 2:16.13.2-1nodesource Available: 2:nodejs-16.14.0-1nodesource.x86_64 (nodesource-nodejs) nodejs = 2:16.14.0-1nodesource Available: 2:nodejs-16.14.1-1nodesource.x86_64 (nodesource-nodejs) nodejs = 2:16.14.1-1nodesource Available: 2:nodejs-16.14.2-1nodesource.x86_64 (nodesource-nodejs) nodejs = 2:16.14.2-1nodesource Available: 2:nodejs-16.15.0-1nodesource.x86_64 (nodesource-nodejs) nodejs = 2:16.15.0-1nodesource Available: 2:nodejs-16.15.1-1nodesource.x86_64 (nodesource-nodejs) nodejs = 2:16.15.1-1nodesource Available: 2:nodejs-16.16.0-1nodesource.x86_64 (nodesource-nodejs) nodejs = 2:16.16.0-1nodesource Available: 2:nodejs-16.17.0-1nodesource.x86_64 (nodesource-nodejs) nodejs = 2:16.17.0-1nodesource Available: 2:nodejs-16.17.1-1nodesource.x86_64 (nodesource-nodejs) nodejs = 2:16.17.1-1nodesource Available: 2:nodejs-16.18.0-1nodesource.x86_64 (nodesource-nodejs) nodejs = 2:16.18.0-1nodesource Available: 2:nodejs-16.18.1-1nodesource.x86_64 (nodesource-nodejs) nodejs = 2:16.18.1-1nodesource Available: 2:nodejs-16.19.0-1nodesource.x86_64 (nodesource-nodejs) nodejs = 2:16.19.0-1nodesource Available: 2:nodejs-16.19.1-1nodesource.x86_64 (nodesource-nodejs) nodejs = 2:16.19.1-1nodesource Available: 2:nodejs-16.20.0-1nodesource.x86_64 (nodesource-nodejs) nodejs = 2:16.20.0-1nodesource Available: 2:nodejs-16.20.1-1nodesource.x86_64 (nodesource-nodejs) nodejs = 2:16.20.1-1nodesource You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest
最新发布
12-17
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值