Node.js简介

现在开始学习《Node.js开发指南》,所以这是上面的介绍性文字。

1.Node.js或者Node是一个可以让JavaScript运行在服务器端的平台。

2.Node.js是一个为实时Web应用开发而诞生的平台,摒弃了传统平台依靠多线程来实现高并发的设计思路,而采用了单线程、异步式I/O、事件驱动式程序的设计模型。

3.Node.js有着强大而灵活的包管理器(node package manager,npm),有MySQL、PostgreSQL、MongoDB数据库接口,有模板语言解析、CSS生成工具、邮件、加密、图形、调试支持,图形用户界面和操作系统API工具。

4.传统意义上,JavaScript是由ECMAScript、文档对象模型(DOM)和浏览器对象模型(BOM)组成,而Mozilla则指出JavaScript由Core JavaScript和Client JavaScript组成,造成这样的差异是因为浏览器支持度的原因。而Node.js中的JavaScript只是Core JavaScript,或者说是ECMAScript的一个实现,不包含DOM、BOM或者Client JavaScript,因为Node.js不运行在浏览器中,不需要使用浏览器许多特性,也就不存在JavaScript的浏览器兼容性问题。

5.Node.js使用的是单线程模型,对于所有I/O都采用异步式的请求方式,避免了频繁的上下文切换。Node.js在执行的过程中会维护一个事件队列,程序在执行时进入事件循环等待下一个事件到来,每个异步式I/O请求完成后会被推送到事件队列,等待程序进程进行处理。

6.Node.js的异步机制是基于事件的,所有的磁盘I/O、网络通信、数据库查询都以非阻塞的方式请求,返回的结果由事件循环来处理。Node.js进程在同一时刻只会处理一件事情,完成后立即进入事件循环检查并处理后面的事件。


7.架构:Node.js开发者在libev和libeio的基础上还抽象出了一层libuv。对于POSIX操作系统(是一套操作系统API规范,遵守POSIX规范的操作系统是Unix、Linux、Mac OS X等),libuv通过封装libev和libeio来利用epoll或kqueue。而在WIndows下,libuv使用了WIndows的IOCP(输入输出完成端口)机制,以在不同平台下实现同样的高性能。



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值