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内存限制的问题。

Node KeyNote的更多相关文章

  1. babeljs源码

    babel.min.js!function(e,t){"object"==typeof exports&&"object"==typeof mo ...

  2. (视频) 开源,免费和跨平台 - MVP ComCamp 2015 KEYNOTE

    2015年1月31日,作为KEYNOTE演讲嘉宾,我和来自全国各地的开发人员分享了作为一名MVP的一些体会. Keynote – Open Source, Free Tools and Cross P ...

  3. 开源,免费和跨平台 - MVP ComCamp 2015 KEYNOTE

    2015年1月31日,作为KEYNOTE演讲嘉宾,我和来自全国各地的开发人员分享了作为一名MVP的一些体会. Keynote – Open Source, Free Tools and Cross P ...

  4. NPM (node package manager) 入门 - 基础使用

    什么是npm ? npm 是 nodejs 的包管理和分发工具.它可以让 javascript 开发者能够更加轻松的共享代码和共用代码片段,并且通过 npm 管理你分享的代码也很方便快捷和简单. 截至 ...

  5. node服务的监控预警系统架构

    需求背景 目前node端的服务逐渐成熟,在不少公司内部也开始承担业务处理或者视图渲染工作.不同于个人开发的简单服务器,企业级的node服务要求更为苛刻: 高稳定性.高可靠性.鲁棒性以及直观的监控和报警 ...

  6. node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理

    一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...

  7. “.Net 社区虚拟大会”(dotnetConf) 2016 Day 3 Keynote: Scott Hanselman

    美国时间 6月7日--9日,为期三天的微软.NET社区虚拟大会正式在 Channel9 上召开,美国时间6.9 是第三天, Scott Hanselman 做Keynote.今天主题围绕的是.NET ...

  8. “.Net 社区虚拟大会”(dotnetConf) 2016 Day 2 Keynote: Miguel de Icaza

    美国时间 6月7日--9日,为期三天的微软.NET社区虚拟大会正式在 Channel9 上召开,美国时间6.8 是第二天, Miguel de Icaza 做Keynote,Miguel 在波士顿Xa ...

  9. “.Net 社区虚拟大会”(dotnetConf) 2016 Day 1 Keynote: Scott Hunter

    “.Net 社区虚拟大会”(dotnetConf) 2016 今天凌晨在Channel9 上召开,在Scott Hunter的30分钟的 Keynote上没有特别的亮点,所讲内容都是 微软“.Net社 ...

随机推荐

  1. JVM Tools

    Java VisualVm 提供可视化界面展示运行在JVM上应用的信息.这些信息可用于诊断剖析应用. Jconsole Jconsole是基于JMX监视工具.Jconsole使用内置的JMX在java ...

  2. python if all

    #encoding:utf-8 s=['1','9']sta='56789'# if all(t not in sta for t in s):#     print staif all(t not ...

  3. 代码:PC 链接列表面板border的一种做法(每行之间有分割线)

    PC 链接列表面板,border的一种做法 做页面经常遇到一种问题,上面是标题,下面是单行链接列表.为了保证后台套页面方便,所有列表项必须完全一样.但我们无法解决第一行或最后一行多出来的分割线. 使用 ...

  4. python学习笔记_week12_mysql

    一.数据库介绍 (一)什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库, 每个数据库都有一个或多个不同的API(接口)用于创建,访问,管理,搜索和复制所保存的数据. ...

  5. Jenkins 简单配置

      安装就不说了, 因为安装实在是很简单的. Jenkins基础配置 配置jdk 和maven 进入Global Tool Configuration, 配置JDK: 一般不要选择自动安装, 否则下载 ...

  6. 序列化 (实现RPC的基础)

    public interface ISerializer { <T> byte[] serializer(T obj); <T> T deSerializer(byte[] d ...

  7. Appium环境安装

    Appium 是开源的.跨平台的.多语言支持的 移动应用 自动化工具 原生app,如计算器 混合(Hybrid)app 内嵌web + 原生 移动 web app 手机浏览器打开的网址 安装appiu ...

  8. 机器学习进阶-阈值与平滑-图像平滑操作(去噪操作) 1. cv2.blur(均值滤波) 2.cv2.boxfilter(方框滤波) 3. cv2.Guassiannblur(进行高斯滤波) 4. cv2.medianBlur(进行中值滤波)

    1.cv2.blur(img, (3, 3))  进行均值滤波 参数说明:img表示输入的图片, (3, 3) 表示进行均值滤波的方框大小 2. cv2.boxfilter(img, -1, (3, ...

  9. binlog开启和查看

    1. 首先需要将mysql的binlog日志打开.默认是关闭的. 参考网址:Windows下Mysql5.7开启binlog步骤及注意事项(https://www.cnblogs.com/wangwu ...

  10. Struts2中使用HttpServletRequest和HttpServletResponse

    一.非Ioc方式 这种方式主要是利用了com.opensymphony.xwork2.ActionContext类以及org.apache.struts2.ServletActionContext类, ...