第一章
NodeJS使用JavaScript作为开发语言,主要是js语言符合事件驱动,没有历史包袱以及V8引擎的高性能。
NodeJS架构
NodeJS的架构与Chrome浏览器的架构类似
Node的特点
- 异步I/O,可以极大的提升效率
- 事件及回调函数,事件的编程方式具有轻量级,松耦合,只关注事务的优点,但是事务之间的合作是一个问题
- 单线程,优点是不用在意死锁的问题,以及线程上下文切换在性能上的开销;缺点在于无法利用多核CPU,错误会使整个应用退出,大量计算占用CPU导致无法继续调用异步I/O。不过Node利用子线程的方法解决了这个问题
- 跨平台
Node应用场景
- I/O密集型
- CPU密集型,由于V8的优化,计算速度并不慢,而且可以利用C/C++拓展,速度比起Java更胜一筹