什么是node.js

作为一个技术小白,我最近在学习node,发现对于node的定义很迷茫,特作此记录

官方解释:

Node.js是一个Javascript运行环境(runtime environment),发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。Node.js对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好。

V8引擎执行Javascript的速度非常快,性能非常好。 [1]  Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。

其实我不是很懂这个概念,因为我的计算机网络没学好,但我还是想先记录下来

下面我举一个在网上看到的一个别人举得小例子,能够帮助大家快速的理解node.js:

想泡壶茶喝。当时的情况是:开水没有;水壶要洗,茶壶茶杯要洗;火生了,茶叶也有了。怎么办?
办法甲:洗好水壶,灌上凉水,放在火上;在等待水开的时间里,洗茶壶、洗茶杯、拿茶叶;等水开了,泡茶喝。

办法乙:先做好一些准备工作,洗水壶,洗茶壶茶杯,拿茶叶;一切就绪,灌水烧水;坐待水开了泡茶喝。

办法丙:洗净水壶,灌上凉水,放在火上,坐待水开;水开了之后,急急忙忙找茶叶,洗茶壶茶杯,泡茶喝。

哪一种办法省时间?我们能一眼看出第一种办法好,后两种办法都窝了工。… 从这上可以一眼看出,办法甲总共要16分钟(而办法乙、丙需要20分钟)。…看来这是“小题大做”,但在工作环节太多的时候,这样做就非常有必要了。

…来源:华罗庚 统筹方法_百度文库

我们在用浏览器访问服务器的时候,就好像去茶叶铺买茶喝。
我们可以买回来自己沏,也可以在店里自带的茶座儿坐下来喝现成的。
如果我们买回来喝,参考华老师的课文,他自己都说了这是「小题大作」,因为16分钟和20分钟差不了太多,就我们自己和家人,慢生活4分钟也没什么毛病。但是如果我们在店里喝,那可不是咱一家儿等着。
比起16分钟的最少等候时间,第一桌多等4分钟,第二桌要同时来的话得多等24分钟,第三桌站起来走了,20多张桌子都闲着。忙活了半天,茶客不耐烦,茶铺不赚钱。

所以,茶叶铺不仅对于同一桌的不同请求要统筹安排,别认死理一件事不干完绝不开始下一件,甚至对于不同桌的不同请求也要尽量并行处理,比如等开水时可以帮好几桌点单、拿茶叶、洗茶杯茶壶,水开之前别闲着,水一开就给各桌上茶,让每桌客人都感觉嗖快嗖快的。

在这个故事里,
茶叶铺就是网络服务器。
我们自己就是浏览器。
我们要是不想浏览器事必躬亲,那就把活扔给服务器干;
当服务器一下子服务很多浏览器时就不能认死理非要串行操作,要灵活统筹,同时开始几件事,哪件完事关闭哪件。

这三个特征用江湖切口说就叫:
**服务器端JavaScript处理:server-side JavaScript execution
非阻断/异步I/O:non-blocking or asynchronous I/O
事件驱动:Event-driven

以上都来自  heshuaicsdn的博客

我觉得这个例子很形象,可能是我比较适合这种举例说明吧

所以,node.js到底是什么?

Node.js是一个服务器端的、非阻断式I/O的、事件驱动的JavaScript运行环境,能够使得javascript脱离浏览器运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值