精华内容
参与话题
问答
  • Node.js 是什么Node.js与JavaScript的区别是什么

    万次阅读 多人点赞 2019-06-06 23:37:49
    node.js是什么?Node.js是一个Javascript运行环境(runtime)。Node.js与JavaScript的区别是什么?本质:     Javascript是一种web前端语言,主要用于web开发中,由浏览器解析执行  &...

    node.js是什么?Node.js是一个Javascript运行环境(runtime)。Node.js与JavaScript的区别是什么?本质:     Javascript是一种web前端语言,主要用于web开发中,由浏览器解析执行     Node.js是一个可以快速构建网络服务及应用的平台,是用Javascript语言构建的服务平台,可用于后端建立服务器区别:      Javascript 主要应用前端    是编程语言    客户端编程语言(需要浏览器的javascript解释器进行解释执行)        node.js    主要应用后端      1个平台        运行环境(一个基于Chrome JavaScript运行时建立的平台,它是对Google V8引擎进行了封装的运行环境)简单的说node.js就是把浏览器的解释器封装起来作为服务器运行平台,用类似javascript的结构语法进行编程,在node.js上运行。
    Node.js的优点?Node.js的缺点?
     优点:1.事件驱动2.异步编程3.非阻塞模式的IO4.轻量高效缺点:1.可靠性低2.单进程,单线程,只支持单核cpu,不能充分的利用多核cpu服务器。一旦这个进程崩掉,那么整个web服务就崩掉了。Node.js适用场景?Node.js不适用的场景?
    适用场景:1.JSON APIL ——构建一个Rest/JSON API服务,node.js可以充分发挥其非堵塞IO模型以及javascript对JSON的功能支持2.单页面、多Ajax请求应用——前端有大量的异步请求,需要服务器后端有极高的响应速度3.基于node.js开发Unix命令行工具——node.js可以大量产生子进程,并以流的方式输出4.流式数据——传统的web应用,通常会将HTTP 请求喝响应看成是原子事件。而node.js会充分利用流式数据这个特点,构建非常酷的应用不适用场景:cpu使用率较重、io使用率较轻的应用Node.js的基本语法
    基本语法与 javascript 一样这里我们使用exports导出一个函数,然后再另一文件中通过require导入入一个模块例如 :在 a.js 中写一个函数var hello=function(){    console.log(‘hello’)}export.hello=hello;在 b.js 中 需要用hello这个函数var a=require(‘a’);a.hello()单线程
    Node的设计中就是将耗时长的操作代理给操作系统或者多线程,这部分操作就是磁盘I/O和网络I/O。所以Node中异步非常常见,因为要将耗时的操作从主线程上脱离。但是这些I/O线程并不怎么耗费CPU。无法利用多核CPU是指Node的主线程无法利用上硬件上额外的CPU。这就需要用到cluster来在机器上启动多个Node实例,将额外的CPU也使用上。异步 IO
    事件驱动REPLREPL(Read-Eval-Print Loop) 中文的话有翻译成“交互式解释器”或“交互式编程环境”的。

    作者:cici_Gao
    链接:https://www.jianshu.com/p/21d3130ca059
    来源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

    展开全文
  • Node.js是什么

    千次阅读 2014-03-11 14:00:22
    Node.js 是什么 Node.js 不是一种独立的语言,与PHP、Python、Perl、Ruby 的“既是语言也是平台”不同。Node.js 也不是一个JavaScript 框架,不同于 CakePHP、Django、Rails。Node.js 更不是浏览器端的库,不能...
    Node.js 是什么


    Node.js 不是一种独立的语言,与PHP、Python、Perl、Ruby 的“既是语言也是平台”不同。Node.js 也不是一个JavaScript 框架,不同于 CakePHP、Django、Rails。Node.js 更不是浏览器端的库,不能与jQuery、ExtJS 相提并论。Node.js 是一个让JavaScript 运行在服务端的开发平台,它让JavaScript 成为脚本语言世界的一等公民,在服务端堪与PHP、Python、Perl、Ruby 平起平坐。
    Node.js 是一个划时代的技术,它在原有的Web 前端和后端技术的基础上总结并提炼出了许多新的概念和方法,堪称是十多年来Web 开发经验的集大成者。Node.js 可以作为服务器向用户提供服务,与PHP、Python、Ruby on Rails 相比,它跳过了Apache、Nginx 等HTTP 服务器,直接面向前端开发。Node.js 的许多设计理念与经典架构(如LAMP)有着很大的不同,可提供强大的伸缩能力,以适应21世纪10年代以后规模越来越庞大的互联网环境。
    Node.js 与JavaScript
    说起JavaScript,不得不让人想到浏览器。传统意义上,JavaScript 是由ECMAScript、文档对象模型(DOM)和浏览器对象模型(BOM)组成的,而Mozilla 则指出JavaScript 由Core JavaScript 和Client JavaScript 组成。之所以会有这种分歧,是因为JavaScript 和浏览器之间复杂的历史渊源,以及其命途多舛的发展历程所共同造成的,我们会在后面详述。我们可以认为,Node.js 中所谓的JavaScript 只是Core JavaScript,或者说是ECMAScript 的一个实现,不包含DOM、BOM 或者Client JavaScript。这是因为Node.js 不运行在浏览器中,所以不需要使用浏览器中的许多特性。
    Node.js 是一个让JavaScript 运行在浏览器之外的平台。它实现了诸如文件系统、模块、包、操作系统API、网络通信等Core JavaScript 没有或者不完善的功能。历史上将JavaScript 移植到浏览器外的计划不止一个,但Node.js 是最出色的一个。随着Node.js 的成功,各种浏览器外的JavaScript 实现逐步兴起,因此产生了CommonJS 规范。CommonJS 试图拟定一套完整的JavaScript 规范,以弥补普通应用程序所需的 API,譬如文件系统访问、命令行、模块管理、函数库集成等功能。CommonJS 制定者希望众多服务端JavaScript 实现遵循CommonJS 规范,以便相互兼容和代码复用。Node.js 的部份实现遵循了CommonJS规范,但由于两者还都处于诞生之初的快速变化期,也会有不一致的地方。

    Node.js 的JavaScript 引擎是V8,来自Google Chrome 项目。V8 号称是目前世界上最快的JavaScript 引擎,经历了数次引擎**,它的JIT(Just-in-time Compilation,即时编译)执行速度已经快到了接近本地代码的执行速度。Node.js 不运行在浏览器中,所以也就不存在JavaScript 的浏览器兼容性问题,你可以放心地使用JavaScript 语言的所有特性。



    展开全文
  • node.js是什么

    千次阅读 2018-08-07 19:26:32
    浏览器是接收请求和发送请求,服务器接收请求。v8是解析浏览器的js 引擎。 node。js是一个让JavaScript运行在服务器端的开发平台...node.js不是一种独立的语言,与PHP(是一种通用开源脚本语言,主要适用于Web开发...

    浏览器是接收请求和发送请求,服务器接收请求。v8是解析浏览器的js 引擎。

    node。js是一个让JavaScript运行在服务器端的开发平台,它让JavaScript的触角伸到了服务器端,可以与PHP,jsp,python ,buby 平起平坐,但node。js似乎有点不同:

    1.1  node的特点

    node.js不是一种独立的语言,与PHP(是一种通用开源脚本语言,主要适用于Web开发领域,在网页程式的开发上。一般来说PHP大多执行在网页服务器上),jsp(JSP全名为Java Server Pages,叫java服务器页面,JSP它是在传统的网页HTML,中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)),python,Ruby的即是语言也是平台不同,node.js的使用javasctipt进行编程,运行在JavaScript引擎上(V8),不像其他语言,要运行在服务器端(apache,Naginx,iis tomcat)等其他http服务器上。它不用建设在任何服务器软件之上。Node.js的设计理念与经典的架构(LAMP(LAMP=Linux + Apache+ Mysql+php))有着很大的不同,可以提供强大的伸缩能力。

    官网:https://nodejs/org/en

    1.2  node的特点

    node.js是如何解决服务器高性能瓶颈问题的:单线程;非阻塞i/o;事件驱动;

    1.单线程

    在java,PHP等服务器端语言中,会为每个客户端连接创建一个新的线程。而每个线程需要消耗大约2mb 的内存,南无一个8GB的服务器可以同时连接4000个左右的用户,要增加用户量,就要增加服务器的数量,。node.js不是为每个用户连接创建一个新的线程,而仅仅使用一个线程。当有用户连接了,就触发一个内部事件,通过非阻塞I/O,事件驱动机制,让node.js程序宏观上也是时并行的,使用NOde。js 一个8GB的内存服务器,可以同时处理超过4个用户的连接。另外一个线程带来的好 处就是,操作系统完全不在有线程的创建。销毁的时间内的开销。

    单线程cpu的利用率永远是百分之百,

    坏处是:一个用户造成了线程的崩溃,整个服务都崩溃了,其他人也就崩溃了。

    2.非阻塞i/o

    当在访问数据库取得数据的时候,需要一段时间:在传统的单线程处理机制中,在执行了访问数据库代码之后,整个线程都将暂停下来,等待数据库返回结果,才行执行后面的代码。

    由于node.js 中采用了非阻塞型I/o机制,因此在执行访问数据库的代码之后,将执行后面的代码,把数据库返回结果的代码放在回调函数中,从而提高了程序的执行效率。当某个i/o执行完毕时,将以事件的形式通知执行I/o操作的线程,线程执行这个事件的回调函数。为了处理异步I/o,线程必须有事件循环,不断的检查有没有未处理的事件,依次处理。

    用一个线程复旦起了非常多的任务。

    但单线程的好处:减少了内存开销,操作系统的内存换页,若果某一个事情进入了,但是被i/o阻塞了,非阻塞i/o

    这3个特点是一个特点 ,离开谁都不行,都玩不起

    node,js 所有i/o都是异步的,回调套回调

    百度贴吧是pyhton写的

     

    展开全文
  • node.js 是什么

    2018-12-07 16:50:00
    node.js 到底是什么node.js 是一个 js 的运行环境和 api 集合,为本来只能在浏览器沙盒中运行的 js 提供了与操作系统进行交互的能力,从此 js 也和其它的后台语言一样可以操作文件,监听网络端口,读写数据库,与...
    node.js 到底是什么?
    node.js 是一个 js 的运行环境和 api 集合,为本来只能在浏览器沙盒中运行的 js 提供了与操作系统进行交互的能力,从此 js 也和其它的后台语言一样可以操作文件,监听网络端口,读写数据库,与操作系统底层交互了。
    为什么要有 node.js 呢?
    因为传统的同步模型的服务系统很难应对 C10K 问题,也就是很难设计出能轻松并发上万连接的服务端。node.js 通过提供原生的异步服务模型,能够轻松实现高并发服务器,从前需要各种优化才能实现的并发性能,现在 node.js 原生就能支持。
    node.js 为什么能高并发?
    要回答这个问题,首先要问为什么其它的同步模型的服务端为什么难以实现高并发?同步模型服务器在收到一个请求以后,就要创建一个新的线程来处理用户请求,这个线程有创建开销,运行时有内存占用,执行时对于文件操作和数据库读取需要阻塞后续代码,处理完请求之后需要再销毁相应线程,即使使用线程池来操作,也有线程切换开销,而且多线程编程对于开发者的心智要求也很高,很容易写出有问题的代码。所以,同步模型的时间开销和内存开销在并发量上来之后会线性增加,很快就会达到服务器无法支撑的地步,只有通过特殊优化才能支撑起高并发。
    node.js 提供了大量的异步 api,使典型的服务端非阻塞 I/O 操作比如网络请求,文件读写,数据库读写等可以异步执行,I/O 的操作在底层的线程池进行,操作完成之后通知主线程,再由主线程处理网络请求。不用每一个请求来临时就创建一个新的线程,节省了线程创建和销毁的时间开销,也减少了内存的占用。有可能在低并发量的时候不如同步模型,但是在并发量高的时候,因为不会随着并发量的提高创建对应数量的线程,因此避免了很多创建线程的时间和线程占用的内存空间,这样就可以使用有限的服务器资源提供更高的并发性能了。

    转载于:https://www.cnblogs.com/lswit/p/10083804.html

    展开全文
  • 简单的说 Node.js 就是运行在...Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。 Node.js 应用的组成部分: 引入 required 模块:我们可...
  • 简介 如果您听说过 Node,或者阅读过一些文章,宣称 Node 多么多么的棒,那么您可能会想:“Node ...为试图解释什么是 Node.js,本文将简要介绍一些背景信息:它要解决的问题,它如何工作,如何运行一个简单应用程序
  • node.js是什么?node.js的特点~

    千次阅读 2018-12-17 11:38:32
    1.node.js是什么?  node.js是编写高性能网络服务器的JavaScript工具包(用js开发服务端程序) 2.特点: 单线程,异步,时间驱动,速度快,耗内存  node.js只支持单线程,当大量数据并发的时候只是快速的将...
  • node.js已经出现并流行了好长一段时间了,但直到最近因为公司项目...node.js是什么?官方给出的解释如下: Node.js® is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network
  • 1. 要认识 node,首先我们得来了解了解JavaScript。JavaScript 一门解释型脚本语言。JavaScript 一种轻量级的编程语言。JavaScript 插入 HTML 页面后,在浏览器中执行。解释型语言:解释型语言的程序在运行前不...
  • Node.js是什么,有什么优点; 简单的api介绍; 1、为什么要学Node.js? 1.1、 企业需求,加分项了解Node.js优先。 1.2.、丰富自己的技术栈,了解前后端交互过程。 1.3、 不在是单纯的写写页面,基本的整站开发能.....
  • Node之什么是node.js是什么

    千次阅读 2019-12-23 20:46:24
    Node.js不是一种独立的语言,也不是一个JavaScript的框架,Node.js只是一个让JavaScript运行在浏览器之外的平台。它采用事件驱动、异步编程、为网络服务而设计,实现了诸如文件系统、模块、包、操作系统 API、网络...

空空如也

1 2 3 4 5 ... 20
收藏数 7,690
精华内容 3,076
关键字:

node.js是什么