Node.js入门以及第一个helloworld程序.
2017-05-18 09:36
1066 查看
1、概念:简单的说 Node.js 就是运行在服务端的 JavaScript。学之前需要明白Node.js是无法挑战jsp、php或者asp这种老牌网站的地位的,是永远不会出现在证券、金融这种领域的。node.js的出现,就像是思维的极限反转带来的性能极致,它就像是一个玩具一样,如果把传统的jsp必做战斗机的话,那么node.js就是一个无人机!
2、Node.js的三大特性
单线程
事件驱动
非阻塞I/O
Node.js的这三个特性,缺一不可,正是这些特性导致他的性能高效。当别人考虑如何进行服务器集群的时候,Node.js反其道而行,采用单线程来解决。合理的避免了I/O的等待时间。
Node.js基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。因为他是单线程、非阻塞I/O,所以避免了I/O访问数据库时线程的等待时间,利用这个等待时间异步处理其他事件,同时减少了线程创建和销毁的开销,同时,它又是事件驱动的,所以每次的异步回调事件,都又会重新进行排列调度,Node.js的底层语言C++,几乎一半以上的语言都是在进行事件调度和排列的,所以,其实Node.js 的这三个特性,说的是一个意思,环环相扣,缺一不可。Node.js无时不刻不是在百分之百工作的,就好比,你请了10个人人工作,但是这10个人慢慢悠悠的工作,倒不如请一个人拼命的干活。
但是Node.js也有他的缺点,因为他是单线程的,所以如果某个用户把这个线程弄崩溃了,那在这个线程的其他用户也都无法工作。
传统的服务器需要为每个连接创建一个线程,一个线程大约花费2MB的内存,所以一个8GB的内存大约可以连接4000个用户。而Node.js来说,一个8GB的内存大约可以连接40000个用户。
当应用程序需要处理大量并发的I/O,而在客户端发出响应之前,应用程序内部并不需要进行非常复杂的处理的时候,Node.js非常合适。Node.js也非常适合与web Socket配合,开发长连接的实时交互应用程序。
--用户表单收集
--考试系统
--聊天室
--图文直播
Node.js没有根目录的概念,因为他根本没有任何的Web容器!甚至让Node.js提供一个静态服务都非常难!
3、第一个HelloWorld程序
2、Node.js的三大特性
单线程
事件驱动
非阻塞I/O
Node.js的这三个特性,缺一不可,正是这些特性导致他的性能高效。当别人考虑如何进行服务器集群的时候,Node.js反其道而行,采用单线程来解决。合理的避免了I/O的等待时间。
Node.js基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。因为他是单线程、非阻塞I/O,所以避免了I/O访问数据库时线程的等待时间,利用这个等待时间异步处理其他事件,同时减少了线程创建和销毁的开销,同时,它又是事件驱动的,所以每次的异步回调事件,都又会重新进行排列调度,Node.js的底层语言C++,几乎一半以上的语言都是在进行事件调度和排列的,所以,其实Node.js 的这三个特性,说的是一个意思,环环相扣,缺一不可。Node.js无时不刻不是在百分之百工作的,就好比,你请了10个人人工作,但是这10个人慢慢悠悠的工作,倒不如请一个人拼命的干活。
但是Node.js也有他的缺点,因为他是单线程的,所以如果某个用户把这个线程弄崩溃了,那在这个线程的其他用户也都无法工作。
传统的服务器需要为每个连接创建一个线程,一个线程大约花费2MB的内存,所以一个8GB的内存大约可以连接4000个用户。而Node.js来说,一个8GB的内存大约可以连接40000个用户。
当应用程序需要处理大量并发的I/O,而在客户端发出响应之前,应用程序内部并不需要进行非常复杂的处理的时候,Node.js非常合适。Node.js也非常适合与web Socket配合,开发长连接的实时交互应用程序。
--用户表单收集
--考试系统
--聊天室
--图文直播
Node.js没有根目录的概念,因为他根本没有任何的Web容器!甚至让Node.js提供一个静态服务都非常难!
3、第一个HelloWorld程序
相关文章推荐
- node.js入门(二) 第一个程序 Hello World
- 第一个Node.js程序_HelloWorld
- node.js入门 - 1.我们的第一个服务
- node.js环境搭建以及入门级hello程序
- node.js-<一>安装运行第一个程序
- Node.js开发入门—HelloWorld再分析
- Node.js入门实例程序
- node.js入门 - 1.我们的第一个服务
- 编写运行第一个node.js程序
- 安装并创建第一个Node.js程序
- node.js创建HelloWorld程序
- Node.js入门实例程序
- Struts2入门第一个程序HelloWorld
- Node.js入门-npm安装以及需要的modules
- DWR的环境搭建与第一个入门程序HelloWorld
- VMWare的Cloud Foundry实践(一):安装使用和第一个云端node.js程序
- node.js入门之helloworld
- Node.js菜鸟入门HelloWorld。
- [浅学] 1、Node.js尝试_安装&运行第一个helloworld
- Lucene入门,第一个HelloWorld程序