zoukankan      html  css  js  c++  java
  • Node KeyNote

    Node KeyNote

    1、实际上,.node文件在windows下它是一个.dll文件,在*nix下则是一个.so文件。

    2、默认变量

      function(exports, require, module, __filename, __dirname){

      }

    3、通过dlopen()方法加载.node文件。也可直接require加载。

    4、.json文件,通过fs模块读取文件后,用JSON.parse()解析返回结果。也可直接require加载。

    5、如果没有扩展名,Node会按.js、.json、.node次序依次尝试。

    6、setTimeout(fn,0)要动用红黑树,开销较大。process.nextTick()可替代。

    7、process.nextTick()优先级高于setImmediate()

       setImmediate()在每轮循环中执行链表中的一个回调函数。

    8、events模块,具有addListener/on()、once()、removeListener()、removeAllListeners()方法.

    9、util模块的inherits(subclass, superclass)提供了继承功能。

    10、Node中通过Js使用的内存在64位系统下约为1.4G,32位系统下约为0.7G。

    11、1.5G的垃圾回收,V8做一次小的垃圾回收需要50ms以上,做一次大的需要1秒以上。

    12、process.memoryUsage()可以查看内存使用情况。

    13、Js的内存空间分为新生代、老生代。新生代使用Scavenge算法,老生代使用Mark-Sweep、Mark-Copact算法。

    14、应用启动时添加--trace_gc参数,应用会将垃圾回收信息打死到gc.log文件中。

    15、应用启动时添加--prof参数,应用会输出profile log,通过linux-tick-processor可以查看。

    16、Buffer对象由C++模块直接分配内存,没有V8内存限制的问题。

  • 相关阅读:
    OpenIOC
    网站舆情监测
    乌云的背后是阳光
    2014 十大工具
    NetFlow网络流量监测技术的应用和设计(转载)
    免费工具
    Oracle RAC环境下怎样更新patch(Rolling Patch)
    Answer's Question about pointer
    cocos2d-x 3.0 final 移植 android
    ReactNavtive框架教程(3)
  • 原文地址:https://www.cnblogs.com/tekkaman/p/6354550.html
Copyright © 2011-2022 走看看