Node提供js语法运行环境,浏览器内核是渲染引擎和js引擎的集合,node.js相当于封装了chrome的V8引擎,服务器端计算分为计算密集(数据密集)和IO密集,因为java的IO同步阻塞模型在进行IO流传输时会阻塞流程,占用过多资源, 而node因为异步处理可以通过多路复用进行多个传输,节约IO时的资源消耗,所以java更适合来处理数据运算用node对处理IO数据传输有优势。
Java多线程同步、异步,node单线程异步
Node的优点:
(1) 非阻塞异步IO
(2) 服务器端js处理
(3) 事件驱动
事件驱动:
事件执行者向A发起请求,A主动从B拉取所需数据,A等待B的数据返回,为A pull消息给B,称之为消息驱动;A通过事件触发消息推送给B,不等待B的回应,直到B根据需求进行处理后,主动push给A,称之为事件驱动。
前端一般用node.js做辅佐开发,用以实现工程化,如打包合并资源等,不用它做服务端开发。