
## Node.js 的特点

-   异步、非阻塞 IO 模型

-   事件循环

-   单线程

-   总结：轻量和高效

Node.js 的性能和效率非常高。

传统的 Java 语言是一个请求开启一个线程，当请求处理完毕后就关闭这个线程。而 Node.js 则完全没有采用这种模型，它本质上就是一个单线程。

你可能会疑问：一个线程如何服务于大量的请求、如何处理高并发的呢？这是因为，Node.js 采用的是异步的、非阻塞的模型。

这里所谓的“单线程”，指的是 Node 的主线程只有一个。为了确保主线程不被阻塞，主线程是用于接收客户端请求。但不会处理具体的任务。而 Node 的背后还有一个线程池，线程池会处理长时间运行的任务（比如 IO 操作、网络操作）。线程池里的任务是通过队列和事件循环的机制来执行。


## 使用 Node.js 时的劣势

- 程序运行不稳定，可能会出现服务不可用的情况

- 程序运行效率较低，每秒的请求数维持在一个较低的水平

- 前端同学对服务器端的技术不太熟悉。
