读书笔记《深入浅出nodejs》第一章 Node简介

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了读书笔记《深入浅出nodejs》第一章 Node简介相关的知识,希望对你有一定的参考价值。

1. Node的官方网站: http://nodejs.org

2. Node的缘起:

  Ryan Dahl 打算设计一个高性能的Web服务器。

  Ryan Dahl 认为设计高性能Web服务器的要点在于:

    (1)事件驱动

    (2)非阻塞I/O

    (what? && why?)

  Ryan Dahl 选择使用javascript作为该服务器的实现语言,起名为Node。

  *为什么是JavaScript?

    (1)高性能

    (2)符合事件驱动

    (3)没有历史包袱

3. Node的特点

  (1)保留前端浏览器JavaScript中熟悉的接口,没有改写语言本身的任何特性,依旧基于作用域链和原型链。

  (2)异步I/O,在Node中,绝大多数的操作都以异步的方式进行调用。

  (3)事件与回调函数。事件的编程方式具有轻量级,松耦合,只关注事物点的优势。

  (4)单线程。不用像多线程编程那样处处在意状态的同步问题,这里没有死锁的存在,也没有县城上下文交换所带来的性能上的开销。

  *单线程的缺陷:

    (1)无法利用多核CPU

    (2)错误会引起整个应用退出,应用的健壮性值得考验。

    (3)大量计算占用CPU导致无法继续调用异步I/O -> 已使用child_process解决

  (5)跨平台

4.Node的应用场景

  (1)I/O密集型 -> Node面向网络且擅长并行I/O,能够有效地组织起更多的硬件资源,从而提供更多好的服务。(主要优势在于Node利用时间循环的处理能力,而不是启动每一个线程为每一个请求服务,资源占用极少。)

  (2)CPU密集型 -> 诀窍在于如何合理调度。

  (3)分布式应用

以上是关于读书笔记《深入浅出nodejs》第一章 Node简介的主要内容,如果未能解决你的问题,请参考以下文章

深入分析java web技术内幕读书笔记-第一章

读书笔记_深入理解计算机系统_第一章_计算机系统漫游

读书笔记《深入浅出nodejs》第五章 内存控制

读书笔记 - javascript 高级程序设计 - 第一章 简介

《深入理解Android2》读书笔记

《内核设计与实现》第一章读书笔记