nodejs初窥
1. node.js不是js应用,而是js运行平台。Node.js采用C++编写,是一个js的运行环境。
2. node.js采用事件驱动、异步编程,为网络服务而设计。Node.js的网络应用模块包括:HTTP/DNS/NET/UDP/HTTPS/TLS等。
3. node.js的特点:
①性能不错,它以单进程,单线程模式运行。事件驱动机制是node.js通过内部单线程高效率的维护事件循环队列来实现的,没有多线程的资源占用和上下文切换,这意味着面对大规模的http请求的时候,node.js凭借事件驱动搞定一切。
4. NPM
npm:它是nodejs的包管理器。Nodejs自身提供了基本的模块。
5. Node.js的模块载入策略
A、node.js的模块分成两类:①原生(核心)模块②文件模块。原生模块在node.js源代码编译的时候编译进了二进制执行文件,加载的速度最快。第二类文件模块是动态加载的,加载的速度比原生模块慢。但是node.js对原生模块和文件模块都进行了缓存,玉石在第二次require时,是不会有重复开销的。其中原生模块都被定义在lib这个目录下,文件模块则不定性。
通过命令行加载启动的文件几乎都是文件模块(如:node example.js)。加载文件模块的工作主要 由原生模块module来实现和完成,该原生模块在启动时已经被加载,进程直接调用到runMain静态方法。
Module.runMain=function(){
Module._load(process.argv[1],null,true);
}
B、文件模块分为三类:①.js文件②.node文件③.json文件
nodejs初窥的更多相关文章
- Scrapy001-框架初窥
Scrapy001-框架初窥 @(Spider)[POSTS] 1.Scrapy简介 Scrapy是一个应用于抓取.提取.处理.存储等网站数据的框架(类似Django). 应用: 数据挖掘 信息处理 ...
- 初窥Kaggle竞赛
初窥Kaggle竞赛 原文地址: https://www.dataquest.io/mission/74/getting-started-with-kaggle 1: Kaggle竞赛 我们接下来将要 ...
- scrapy2_初窥Scrapy
递归知识:oop,xpath,jsp,items,pipline等专业网络知识,初级水平并不是很scrapy,可以从简单模块自己写. 初窥Scrapy Scrapy是一个为了爬取网站数据,提取结构性数 ...
- WWDC15 Session笔记 - Xcode 7 UI 测试初窥
https://onevcat.com/2015/09/ui-testing/ WWDC15 Session笔记 - Xcode 7 UI 测试初窥 Unit Test 在 iOS 开发中已经有足够多 ...
- Java发送邮件初窥
一.背景 最近朋友的公司有用到这个功能,之前对这一块也不是很熟悉,就和他一起解决出现的异常的同时,也初窥一下使用Apache Common Email组件进行邮件发送. 二.Java发送邮件的注意事项 ...
- 【软件工程】week5-个人作业-敏捷开发方法初窥
敏捷开发方法初窥 引言:本周的软件工程个人博客作业是阅读关于敏捷开发方法的文章(http://martinfowler.com/agile.html),并撰写自己的读后感.文章内容非常丰富,对敏捷开发 ...
- 网页3D效果库Three.js初窥
网页3D效果库Three.js初窥 背景 一直想研究下web页面的3D效果,最后选择了一个比较的成熟的框架Three.js下手 ThreeJs官网 ThreeJs-github; 接下来我会陆续翻译 ...
- iOS视频直播初窥:高仿<喵播APP>
视频直播初窥 视频直播,可以分为 采集,前处理,编码,传输, 服务器处理,解码,渲染 采集: iOS系统因为软硬件种类不多, 硬件适配性比较好, 所以比较简单. 而Android端市面上机型众多, 要 ...
- php面向对象(一) 初窥
初窥php面向对象 1.类:类就是属性和方法的集合 是一个抽象的概念比如生活中的“人”,"汽车"2.对象:对象是具体的事物 比如一叫“小强”的人 一辆叫“奥迪a7”的汽车3.类和对 ...
随机推荐
- servlet servlet请求与响应
request 客户端浏览器发出的请求被封装成一个HttpServletRequest对象.所有的信息包括请求的地址,请求的参数,提交的数据,上传的文件,客户端的Ip地址甚至客户端操作系统都包含在Ht ...
- 改写libsvmread读取多标记数据集
在libsvm和liblinear软件包里有一个C函数叫libsvmread,这个函数的作用是把如下格式的文本文件\begin{align*} 1 & \ \ *:* \ \ *:* \\ - ...
- Linux-vmware tools安装与cdrom挂载
前述 昨天想直接复制虚拟机centos系统中命令行的内容到主机的txt文档上进行保存,发现不能实现虚拟机与主机之间的直接通讯,后来查资料发现原来是由于我的虚拟机没有安装vwmare tools的缘故. ...
- JAVA学习中Swing概述中的JFrame学习
package com.swing; import java.awt.Color;import java.awt.Container;import java.awt.event.WindowAdapt ...
- Linux内核启动分析过程-《Linux内核分析》week3作业
环境搭建 环境的搭建参考课件,主要就是编译内核源码和生成镜像 start_kernel 从start_kernel开始,才真正进入了Linux内核的启动过程.我们可以把start_kernel看做平时 ...
- Leetcode 299 Bulls and Cows 字符串处理 统计
A就是统计猜对的同位同字符的个数 B就是统计统计猜对的不同位同字符的个数 非常简单的题 class Solution { public: string getHint(string secret, s ...
- Hello.class所在路径下, 输入命令:java Hello.class,会出现什么结果,为什么?
所在路径下, 输入命令:java Hello.class: 因为DOS没有规定路径,所有么有在默认路径下找到Hello.class文件,导致提示 错误: 找不到或无法加载主类 Hello.class.
- Arduino单片机使用和开发问题记录
1.将程序上传到板子时Arduino IDE提示“avrdude: stk500_getsync(): not in sync: resp=0x00” 网上查遇到这个问题的人比较多,有说驱动问题的,有 ...
- navigationBar设置透明
//设置全透明方式 一.完全不用图片(iOS7之后有效)[self.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBar ...
- RMAN duplciate 准备时,需要检查的target数据库参数内容
SQL> show parameter audit_file_dest; NAME TYPE VALUE------ ...