node.js的介绍
来源:互联网 发布:java飞机大战素材 编辑:程序博客网 时间:2024/04/28 05:14
官方网站: http://nodejs.org/
Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
Node是一个Javascript运行环境(runtime)。实际上它是对GoogleV8引擎(应用于Google Chrome浏览器)进行了封装。V8引 擎执行Javascript的速度非常快,性能非常好。Node对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。例 如,在服务器环境中,处理二进制数据通常是必不可少的,但Javascript对此支持不足,因此,V8.Node增加了Buffer类,方便并且高效地 处理二进制数据。因此,Node不仅仅简单的使用了V8,还对其进行了优化,使其在各环境下更加给力。
V8引擎本身使用了一些最新的编译技术。这使得用Javascript这类脚本语言编写出来的代码与用C这类高级语言写出来的代码性能相差无几,却节省了开发成本。对性能的苛求是Node的一个关键因素。 Javascript是一个事件驱动语言,Node利用了这个优点,编写出可扩展性高的服务器。Node采用了一个称为“事件循环(event loop)”的架构,使得编写可扩展性高的服务器变得既容易又安全。提高服务器性能的技巧有多种多样。Node选择了一种既能提高性能,又能减低开发复杂 度的架构。这是一个非常重要的特性。并发编程通常很复杂且布满地雷。Node绕过了这些,但仍提供很好的性能。 Node采用一系列“非阻塞”库来支持事件循环的方式。本质上就是为文件系统、数据库之类的资源提供接口。当 你向文件系统发送一个请求时,无需等待硬盘(寻址并检索文件),硬盘准备好的时候非阻塞接口会通知Node。该模型以可扩展的方式简化了对慢资源的访问, 直观,易懂。尤其是对于熟悉onmouseover、onclick等DOM事件的用户,更有一种似曾相识的感觉。 虽然让Javascript运行于服务器端不是Node的独特之处,但却是其一强大功能。不得不承认,浏览器环境限制了我们选择编程语言的自由。任 何服务器与日益复杂的浏览器客户端应用程序间共享代码的愿望只能通过Javascript来实现。虽然还存在其他一些支持Javascript在服务器端 运行的平台,但因为上述特性,Node发展迅猛,成为事实上的平台。 在Node启动的很短时间内,社区就已经贡献了大量的扩展库(模块)。其中很多是连接数据库或是其他软件的驱动,但还有很多是凭他们的实力制作出来的非常有用的软件。 最后,不得不提到的是Node社区。虽然Node项目还非常年轻,但很少看到对一个项目如此狂热的社区。不管是新手,还是专家,大家都围绕着项目,使用并贡献自已的能力,致力于打造一个探索、支持、分享、听取建议的乐土。 node机制的根本原理是多利用CPU、高速缓存处理相应访问,减少比如像硬盘到内存,或到高速缓存中的检索读取的等待时间。 样例:var http =require('http'); http.createServer(function(request, response){ response.writeHead(200,{'Content-Type':'text/plain'}); response.end('Hello World\n'); }).listen(8124); console.log('Server running at http://127.0.0.1:8124/');
运行: > node example.js Server running at http://127.0.0.1:8124/
- node.js的介绍
- node.js的介绍
- node.js 介绍 (关于node.js 的误会)
- Node.js介绍
- Node.js介绍
- node.js介绍
- Node.js Http 介绍
- node.js简要介绍
- Node.js简单介绍
- node.js介绍
- Node.js介绍
- 1.node.js介绍
- Node.js介绍
- Node.js 介绍文章
- Node.js挖掘之三"一张图介绍Node.js的各路英雄"
- Node.js 介绍及安装
- node.js之lodash介绍
- 【Node.js系列】Express 介绍
- JXL 解析EXCEL
- QT4 键盘按键发送自定义信号
- 从摄像头获得图像的坐标原点是在左下角(OpenCV中IplImage结构中的origin成员)
- 模糊聚类算法(FCM)和硬聚类算法(HCM)的VB6.0实现及其应用
- php手册-类型转换
- node.js的介绍
- C++ 关联容器详细介绍
- C++学习笔记---C++数组和指针
- 笔记-织梦系统中全局变量的调用标签
- oracle数据库还原,如何将dmp文件还原到oralce库
- 评论:羽毛球退赛风波
- jpg转RGB565
- Eclipse_配置TM(RSE)
- JS扑捉一个按钮事件之外的其他事件