node基础引入

node JS 是什么?
前端后端
网络之前 网络之后
浏览器: HTML,CSS,JS
安卓:Java,Python,c++,c#
IOS:C++,Object-c;
服务端:linux;
Java,C++,Python,C++,c#,NodeJS,PHP
计算机语言: HTML(标记语言)
编程语言:1.机器语言(机器码,原生码)低级语言
2.汇编语言 低级语言
3.高级语言:if else var float int 可读性更强
Javas比C高级,NodeJS比Java高级
Java和JS有自动回收机制
NodeJS有线程池
不需要关注更底层的操作

JS预编译的五步
1.var 形参 undefined,统一,function,执行
1.词法分析(分词 tokenizing),语法分析(parsing),语义分析(代码生成)编译的过程;

词法分析(分词 tokenizing)
1.识别关键字;var function
2.标识符:var a = 1; function test(){};
3.分解符:划分界限的专作用 () {} (function t(a,b){})
4.运算符: + - * / ^(按位 异或运算) || && |(按位或) &(按位与)

语法分析:树,数组,栈,堆
语法抽象树(Abstract Syntax Tree)(非线性结构)

语义分析(parsing)(AST) -> (目标平台–操作系统windows)可执行的二进制码(机器码)
前端的对象–浏览器
readFile();

NodeJS和JS不是一种语言。
后端的对象–不限于浏览器
linux-- centos(命令行) ubuntu(有可视化界面的) API

I/O input/output 硬盘中的输入输出

关系型数据库(mySQL(全部存储在磁盘中)),非关系型数据库(mongoDB(一部分存储在磁盘中,一部分存储在内存中),redis(全部存储在内存中))
I/O操作 非常费时 内存ns(纳秒) 10E-9s GB/s 30亿
ram 硬盘 ms(毫秒) 10E-3s 100w倍 MB/s

        readFile();
        console.log(1);
        console.log(2);
        阻塞I/O:I/O等待I/O完成才进行下一步操作;
        非阻塞I/O:I/O不等待I/O完成就进行下一步操作;
        异步非阻塞I/O模型;
        I/O密集和CPU密集;

        2009.3 Ryan dahl C++
        NodeJS Web.js Node
        不是单线程,多线程有一个主线程
        前端JS是单线程的
        单线程:1.多核CPU的性能浪费;child_process;2.阻塞代码的运行;
        Libuvb

        fn = fn(n-1)+fn(n-2)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值