Node.js的非凡之处
来源:互联网 发布:插补算法原理 编辑:程序博客网 时间:2024/04/27 23:25
这几天学习了Node.js,果然非同凡响, 那么,他的非凡支持有哪些呢?
1, 服务端javascript
使用google的V8引擎,node.js使得javascript能够运行在Server端,也就是从这一天开始,
javascipt才真正扬眉吐气,可以和他的大哥Java平起平坐, 这不能不说是一个非凡。
2,单线程, 异步处理
一般情况下,我们提到异步,第一反应肯定是多线程。单线程?怎么做到异步呢?
node.js通过event loop架构,实现了单线程异步处理,让你感受它的非凡。
说到event loop技术,不能不提webserver的多用户并发访问,如何高效处理的问题。
业界的两个代表是Apache和Nginx。 Apache使用多线程架构, Nginx使用Event Loop架构。
两者其实各有千秋, Apache针对每个Client请求都建立一个线程,这样随着线程增多,要求的内存必然同比例增多。
这就要求在构建系统时,要考虑最大的用户并发数,并有一定的余量,从而来应对特殊情况。
实际上就是为了解决这个问题, Event Loop才应运而生。 Event Loop使用单线程, 可怎么解决并发请求问题呢。
答案就是NO Blocking(非阻塞)。
何谓非阻塞, 简单的说就是不用等待数据的IO操作,就可以进行下一步处理的方式。为了实现异步并行,就必须要使用
Callback(回调)。也就是说Event Loop就是在Loop中,一旦有某个Event发生时,CallBack会被调用,从而进行response。
这样用一个线程就够了,内存和Client请求不成比例,从而降低了Server 瘫痪风险。
当然Event Loop也有缺点,那就是所有的处理必须是非阻塞, 如果有阻塞发生,所有的处理就停止啦。
- Node.js的非凡之处
- node.js学习之node的安装
- Node.js学习教程之二:node.js的HelloWorld
- 图腾--非凡之死
- 0001、node 之node与js的区别
- Node.js之模块的基本概念
- 菜鸟的Node.js之旅
- node.js之this的困惑
- JavaScript基础之Node.js的模块
- Node.js之console
- Node.js之Modules
- node.js之util
- node.js之文件系统
- Node.js之Mysql
- node.js之EJS
- node.js 之 Redis
- node.js之Url
- node.js之框架
- Java:&和&&的区别
- Mac OS挂载NFS
- windows下用c写php扩展(加密解密php源代码)(2)
- 二叉树三种遍历的递归与非递归算法
- DBI接口与DPI接口与DSI接口
- Node.js的非凡之处
- oracle 高水位线详解
- 《软件需求规格说明》中的数据元素组合体——GJB438B学习笔记之十五
- 一个经典的PHP分页实例代码分享
- poj-1503 大整数运算
- 跟我一起玩Win32开发(22):抓取屏幕
- 禁用Extjs中propertyGrid的自动排序
- 软件工程导论作业(一)
- SAP MM报表集