小明一分钟可以思考八个问题可以思考六个问题哪个特点,判断一个问题分析的是否完整,我们需要问哪两个问题?()
你知道Node.js吗?如果不知道,可以试试。本文通过七个问题来简单了解Node.js,希望对大家有帮助!
node.js速度课程简介:进入学习
1. Node诞生于哪一年?
Node诞生于2009年。
2009年3月,Node的作者在他的博客上宣布,他将创建一个基于V8的轻量级Web服务器,并提供一组库。
同年5月,在GitHub上发布了原始版本。
2011年7月,在微软的支持下发布了windows版本。
2. 是谁创造出来的?
瑞安达尔是Node的创造者,被称为Node之父。
然而,2012年1月,瑞安达尔(Ryan Dahl)将领导者的身份移交给了艾萨克施鲁特(Isaac Z.Schlueter),他后来成为了《NPM》的作者,他接受了Node的发布和错误修复。
3. 为什么叫Node?
Node有很多昵称,比如NodeJS,Nodejs,Node.js等。那么为什么是Node呢?
起初,Ryan Dahl将其项目命名为web.js,即web服务器,但项目的发展超出了他最初单纯开发web服务器的想法。它已经成为构建网络应用的基本框架,在此基础上可以构建更多的东西,比如服务器、客户端、命令行工具等等。Node已经发展成为一个单线程、单进程的系统,它被迫不共享任何资源。它包含适用于网络的库,并为构建大规模分布式应用程序提供基础设施。它的目标也被称为建立一个快速和可伸缩的网络应用服务。它非常简单,通过通信协议组织许多节点,通过扩展很容易达到构建大型网络应用的目的。每一个Node进程都构成了这个网络应用中的一个节点,正是Node的意思。
4. 为什么是JavaScript成为了Node的实现语言?
选择JavaScript作为Node的实现语言有三个主要原因:
高性能符合事件驱动没有历史包袱Ryan Dahl曾经评价过C、Lua、Haskell、Ruby等。作为替代实现,但是C开发门槛高,Lua有很多历史包袱,Haskell觉得还玩不起来,Ruby的虚拟机性能也不是很好。综合之下,选择JavaScript作为节点的实现语言。
你可能会和我一样想,JavaScript是不是没有历史包袱了?是的,JavaScript在后端一直没有市场,历史负担相当于零。
5. Node有哪些主要特点?
主要有以下特点:
异步I/O事件和回调函数单线程Node在前端浏览器JavaScript中保留了那些熟悉的接口,没有重写语言本身的任何特性。
6. Node有哪些应用场景?
Node的应用场景主要有以下几种:
CPU密集型CPU密集型业务分布式应用节点利用事件循环的处理能力,不需要为每个请求启动一个线程,从而更有效地组织更多的硬件资源;对于专注于CPU栈操作的商家来说,Node的性能足够高效,主要是因为V8的深度性能优化。
7. CPU密集型应用会给Node带来什么挑战,如何解决?
CPU密集型应用会给Node带来的主要挑战是:由于JavaScript单线程,如果计算时间长(比如周期大),CPU时间片不会被释放,后续的I/O也不会被发起。
总体方案:
适当调整和分解大规模计算任务。如果上述方案无法解决,Node还有两种方法可以充分利用CPU。
可以通过子进程编写一个node的C/C扩展,使用一些节点进程作为计算的常驻服务进程,然后使用进程间的消息传递结果,从而将计算从I/O中分离出来,获得更多关于Node的知识。请访问:nodejs教程!以上是通过七个问题对Node.js细节的简单了解。请多关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。