Nodejs的运行原理-科普篇

小说:电玩城游戏捕鱼作者:邓陵更新时间:2018-11-20字数:31096

很快,金色海洋的能量,也就是海神的能量融入到天青牛蟒右臂骨之中后,这块右臂骨出现了奇诡的变化。

035棋牌游戏下载

在时间宝轮的转动下刘皓只觉得自己置身于一个混乱无比的时间洪流之中,他不管做什么都被放满了数百倍,这一股时间之力还在侵蚀他的肉身,他的元神,他的真元法力。
安禄山当即答应了,“你带一千骑兵前去曲阳县,让江画师也随你去,再给我画一幅像来,无论如何,你要把她带回河北,事成,我赏你五百贯钱。”

“我当是谁呢?”罗喉老祖看着纪太虚呵呵笑道:“原来是风头正劲的纪侯爷!不知道纪侯爷怎么有空跑到我这荒山来了?”

前言

Nodejs目前处境稍显尴尬很多语言都已经拥有异步非阻塞的能力阿里的思路是比较合适的但是必须要注意绝对不能让node做太多的业务逻辑他只适合接收生成好的数据然后或渲染后或直接发送到客户端

为什么nodejs 还可以成为主流技术哪

是因为nodejs 对于大前端来说还是非常重要的技术!!!如果你理解nodejs 的编程原理很容易就会理解angularjsreactjs vuejs 的设计原理

 

NodeJS

Node是一个服务器端JavaScript解释器用于方便地搭建响应速度快易于扩展的网络应用。Node使用事件驱动非阻塞I/O 模型而得以轻量和高效非常适合在分布式设备上运行数据密集型的实时应用
Node是一个可以让JavaScript运行在浏览器之外的平台它实现了诸如文件系统模块操作系统 API、网络通信等Core JavaScript没有或者不完善的功能历史上将JavaScript移植到浏览器外的计划不止一个Node.js 是最出色的一个

 

V8引擎

V8 JavaScript引擎是Google用于其Chrome浏览器的底层JavaScript引擎很少有人考虑JavaScript在客户机上实际做了些什么!

实际上,JavaScript引擎负责解释并执行代码。Google使用V8创建了一个用C++编写的超快解释器该解释器拥有另一个独特特征您可以下载该引擎并将其嵌入任何应用程序。V8 JavaScript引擎并不仅限于在一个浏览器中运行

因此,Node实际上会使用Google编写的V8 JavaScript引擎并将其重建为可在服务器上使用

 

事件驱动

在我们使用Java,PHP等语言实现编程的时候我们面向对象编程是完美的编程设计这使得他们对其他编程方法不屑一顾却不知大名鼎鼎Node使用的却是事件驱动编程的思想那什么是事件驱动编程
事件驱动编程为需要处理的事件编写相应的事件处理程序代码在事件发生时执行 
为需要处理的事件编写相应的事件处理程序要理解事件驱动和程序就需要与非事件驱动的程序进行比较实际上现代的程序大多是事件驱动的比如多线程的程序肯定是事件驱动的早期则存在许多非事件驱动的程序这样的程序在需要等待某个条件触发时会不断地检查这个条件直到条件满足这是很浪费cpu时间的而事件驱动的程序则有机会释放cpu从而进入睡眠态注意是有机会当然程序也可自行决定不释放cpu),当事件触发时被操作系统唤醒这样就能更加有效地使用cpu。
来看一张简单的事件驱动模型(uml):

 

事件驱动模型主要包含3个对象事件源事件和事件处理程序

  事件源产生事件的地方(html元素)

  事件点击/鼠标操作/键盘操作等等

  事件对象当某个事件发生时可能会产生一个事件对象该时间对象会封装好该时间的信息传递给事件处理程序

  事件处理程序响应用户事件的代码 

 

运行原理

当我们搜索Node.js夺眶而出的关键字就是 “单线程异步I/O,事件驱动”,应用程序的请求过程可以分为俩个部分:CPU运算和I/O读写,CPU计算速度通常远高于磁盘读写速度这就导致CPU运算已经完成但是不得不等待磁盘I/O任务完成之后再继续接下来的业务
所以I/O才是应用程序的瓶颈所在I/O密集型业务中假设请求需要100ms来完成其中99ms化在18乐棋牌游戏 qka棋牌游戏大厅 边城棋牌游戏大厅 大字版翻牌机游戏下载 方块游戏客户端 方块娱乐app器 赖子山庄怎么下载 牛总管斗牛安卓app

27890 34895 64693 40469 13316 5346772836 68411 52766

我要说两句: (0人参与)

发布