1.3 node.js的哲学

node.js是一个专注于实现高性能web服务器优化的专家,他的哲学理念是与其一堆服务员闲着,不如让一个服务员累死,这与他底层是chrom V8引擎密不可分,采用了事件驱动,非阻塞I/O模型。

同步I/o: 当系统遇到遇到一个需要耗费大量时间去做的事情时候,选择等死

异步I/o:当系统遇到遇到一个需要耗费大量时间去做的事情时候,不等死,先做后面的事,等耗时的事情昨完之后,执行回调函数,

我们来看一个小案例:

我们可以看到,当遇到相对于其他文件比较耗时的时候(读取text.txt文件),系统会执行后面的的事(计算),然后输出计算的值,等耗时的时做完之后,执行回调函数来输出耗时做的事(text.txt文件),

这里需要注意的是data.toString:

JavaScript 语言自身只有字符串数据类型,没有二进制数据类型。

但在处理像TCP流或文件流时,必须使用到二进制数据。因此在 Node.js中,定义了一个 Buffer 类,该类用来创建一个专门存放二进制数据的缓存区。

然后 通过使用显式的字符编码,就可以在 Buffer 实例与普通的 JavaScript 字符串之间进行相互转换。

猜你喜欢

转载自blog.csdn.net/qq_38845858/article/details/84761357
1.3