nodejs运行原理

最近在学习nodejs,对nodejs的原理做了以下总结:

nodejs是什么?

可以把nodejs理解成是一个运行在服务端的基于chrome v8 engine的js运行环境。

nodejs优势?

由于nodejs使用的是事件驱动,非阻塞的I/O模型,因此nodejs执行效率非常高。

nodejs缺点?

nodejs对I/O的处理非常高效,但是对cpu密集型应用,会导致主线程阻塞,阻止后续程序执行。

nodejs组成:

1,v8 engine:

v8引擎主要有两个作用:

一是作为虚拟机,负责js的解释执行;

二是提供c++函数接口,为nodejs提供v8初始化,创建context、scope等。

2,libuv:

libuv是基于事件驱动的异步I/O模型库,nodejs中事件、线程、I/O等操作都依赖libuv实现。

3,builtin modules(内置模块)

内置模块是由c++编写的模块,一般用于native modules调用。

4,native modules

native module指由js编写的模块,如http、crypto、zlib、buffer、fs等等,同时这些模块又依赖builtin modules来获取相应的服务支持。

参考:

https://www.cnblogs.com/peiyu1988/p/8192066.html

发布了54 篇原创文章 · 获赞 0 · 访问量 7693

猜你喜欢

转载自blog.csdn.net/yuyongkun4519/article/details/100072847