Node.js的定义,优缺点及其作用

**

Node.js

1、定义

它是一个Javascript运行环境(简单来说就是可以解析、执行js代码),不是一门语言/库/框架
,依赖于Chrome V8引擎进行代码解释 (1)Node.js中的JavaScript没有BOM、DOM,只有ECMAScript (基本语法),因为服务端不操作页面
(2)在Node这个javascript执行环境中为js提供了一些服务器级别的操作API(文件读写、构建网络服务、网络通信、http服务器等)

2、特性:

优点有(基于V8的优点):

  1. 采用事件驱动、异步编程,为网络服务而设计
  2. Node.js非阻塞模式的IO处理
  3. Node.js轻量高效
  4. Node.js使用Google V8 JavaScript 引擎,
    因为:
    V8是基于BSD许可证的开源软件
    V8速度非常快
    V8专注于网络功能,在HTTP、DNS、TCP等方面更加成熟
    使用事件驱动、非阻塞IO模型(简单来讲就是异步)、轻量高效

缺点有:

  1. 单进程,单线程(有办法解决的),不能充分的利用多核CPU服务器
  2. 可靠性低,一旦代码某个环节崩溃,整个系统都崩溃(因为是单线程)
  3. 开源组件库质量参差不齐,更新快,向下不兼容

解决的缺点的方法:

  1. 多进程绑定在同一个端口侦听。
  2. 开启多个进程,每个进程绑定不同的端口,用反向代理服务器如 Nginx 做负载均衡
  3. 一个进程负责监听、接收连接,然后把接收到的连接平均发送到子进程中去处理

Node.js能做什么

1、Web服务器后台(java、php做的node.js都能做)

2、命令行工具,Node.js把JavaScript的易学易用和Unix网络编程的强大结合到了一起

3、Node.js是事件驱动的。开发者可以在不使用线程的情况下开发出一个能够承载高并发的服务器。(高并发:简单来说,指通过设计保证系统能够高效并行处理很多请求。)

4、大多数与JS相关的包都放在npm上
有了npm之后,一条命令就可以下载不同的库/框架,不用再到各个库/框架的官网上去下载

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值