1.特点:
异步I/O,事件驱动与回调函数,单线程(浏览器Web Workers,Node child_process),跨平台
2.应用场景:
I/O密集型、cpu密集型(合理调度是诀窍)
3.Event Loop:
另外,Promise.then和process.nextTick位置一样,但是它优先级小于后者。
4.异步编程:
高阶函数可以吧函数作为参数,或者将函数作为返回值的函数。这是js异步编程的基础。
难点:1.异常处理 2.函数嵌套过深 3.阻塞代码 4.多线程编程 5.异步转同步
5.内存控制:
内存泄漏:指程序一动态分配的堆内存由于某种原因程序未释放或无法释放。
v8内存控制:只能使用部分内存,64位1.4g,32位0.7g。可以自己调整。
分代回收机制:新生代、老生代。
堆外内存:Buffer对象并非通过v8分配。Node处理网络流和文件I/O,操作字符串速度远远不够。
内存泄漏原因:缓存、队列消费不及时、作用域未释放