Nodejs是个什么玩意?

320 阅读2分钟
原文链接: www.jianshu.com

最近一个哥们说要入开发的坑.........沉(痛地)思(考)后觉得,不如我来挖吧....

Nodejs

Node.js是一个Javascript运行环境(runtime)。实际上它是对Google V8引擎进行了封装。V8引 擎执行Javascript的速度非常快,性能非常好。Node.js对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。  Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。

ps:以上摘自百度百科,如果错了,那是百度的错

ps2:什么是V8引擎?可以开车!

所以到底是什么?

这篇文章 详细介绍了,Nodejs旨在解决什么问题?肯定不是什么?如何工作?对什么有好处?这些问题,建议好好读一读,总结起来:

当服务器需要同时处理巨大数量的请求时,传统的服务器需要为每个请求创建线程或者进程来处理请求,而线程和进程本身就会占用大量的内存和其他服务器资源,所以他们都会限制线程和进程的数量,并且利用队列循环等机制阻塞某些线程。

而Node 解决这个问题的方法是:

更改连接到服务器的方式。每个连接发射一个在 Node 引擎的进程中运行的事件,而不是为每个连接生成一个新的 OS 线程(并为其分配一些配套内存)。Node 声称它绝不会死锁,因为它根本不允许使用锁,它不会直接阻塞 I/O 调用。Node 还宣称,运行它的服务器能支持数万个并发连接。

所以如果你的服务发送请求的次数非常频繁,而每次请求操作的数据并不大(比如聊天)就非常适合nodejs 这篇文章 列举了更多适用的场景有兴趣可以看一下。

那如果我要写前端呢?

你猜?