前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Node.js从入门到深入——Node.js的了解

Node.js从入门到深入——Node.js的了解

作者头像
蛋未明
发布于 2018-06-07 07:58:54
发布于 2018-06-07 07:58:54
1.1K0
举报
文章被收录于专栏:蛋未明的专栏蛋未明的专栏

Node.js从入门到深入,为《Node.js从入门到深入》系列文章的博客文章,欢迎交流学习。by——danhuang

Node是什么?

Node是一个Javascript运行环境(runtime)。实际上它是对GoogleV8引擎(应用于Google Chrome浏览器)进行了封装。V8引 擎执行Javascript的速度非常快,性能非常好。Node对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。(摘自百度百科)

      Node.js并非一种语言,而是一个运行环境,其主要是基于GoogleV8引擎进行封装的一个解析器。其目的是可以在服务器端执行和运行Javascript代码,长久以来javascript都是一个基于浏览器的客户端脚本语言,通过将其运行环境抽离出来,就可以在服务器端运行javascript代码,而并非仅仅依赖浏览器解析,从而就可以将其作为服务器端语言,而其异步非阻塞特性,因此其在长连接、多请求的环境下优势非常明显。

      Node.js的编程语言还是基于javascript,因此想深入学习了解Node.js的入门者,还是应该去熟悉的javascript编程语言,同时要对服务端开发有所了解。Node.js提供了一些特殊的API(官网有详细),因此在编写Node.js的时候可以理解为,使用javascript语言,利用Node.js的API进行服务端开发。

Node能带来什么?

传统的服务器端语言PHP和Java,每个连接产生式一个线程,每个线程大概需要2M的配置内存,因此相对一个8G的服务器主机,也只能承受来自4000个并发用户的请求,当服务器承受不了这么多用户的情况下就需要添加服务器,增加运营成本。

Node 解决这个问题的方法是:更改连接到服务器的方式。每个连接发射一个在 Node 引擎的进程中运行的事件,而不是为每个连接生成一个新的 OS 线程(并为其分配一些配套内存)。Node 声称它绝不会死锁,因为它根本不允许使用锁,它不会直接阻塞 I/O 调用。Node 还宣称,运行它的服务器能支持数万个并发连接。(摘自IBM——Node.js是什么?)

      上一节我们介绍了Node.js拥有异步非阻塞特性。那么如何才能很好的利用这点呢?

利用该特性可以开发这类项目如:

实时在线Game(这部分可以很好的利用HTML5的知识,进行整合开发游戏,比如“大家一起来画画”),黑暗杀人游戏, 实时休闲游戏(扑克、象棋、麻将等);

实时在线聊天室,实时消息推送功能,SNS实时交流等;

实时监控系统(例如:股票、系统运行状态等);

当然不是所有项目都适合使用Node.js来做,毕竟PHP和其他服务器端语言比较成熟,在安全性方面更优于Node.js,当然Node.js也在慢慢的成熟阶段。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2012年09月02日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
五个最佳案例带你解读Node.js的前后之道
Node.js 是什么? Node.js采用C++语言编写而成,浏览器内核V8做为执行引擎;Node不是JS应用、而是一个Javascript的运行环境。Node保留了前端浏览器js的接口,没有改写语言本身的任何特性,依旧基于作用域和原型链。 Node.js 是一个为实时Web(Real-time Web)应用开发而诞生的平台,它从诞生之初就充分考虑了在实时响应、超大规模数据要求下架构的可扩展性。这使得它摒弃了传统平台依靠多线程来实现高并发的设计思路,而采用了单线程、异步式I/O、事件驱动式的程序设计模型。
个推君
2018/03/21
1.6K0
五个最佳案例带你解读Node.js的前后之道
【Node.js】你真的了解 Node.js 么
Node.js 是基于 Chrome V8 引擎的 JavaScript 运行时环境。
GopalFeng
2022/08/01
5.6K0
【Node.js】你真的了解 Node.js 么
搭建简单版的Node.js
Node.js是一个Javascript运行环境(runtime)。实际上它是对Google V8引擎进行了封装。V8引 擎执行Javascript的速度非常快,性能非常好。Node.js对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。
知忆
2021/06/09
8870
Node.js 安装和入门
Node(正式名称 Node.js)是一个开源的、跨平台的运行时环境,有了它,开发人员可以使用 JavaScript 创建各种服务器端工具和应用程序。此运行时主要用于浏览器上下文之外(即可以直接运行于计算机或服务器操作系统上)。据此,该环境省略了一些浏览器专用的 JavaScript API,同时添加了对更传统的 OS API(比如 HTTP 库和文件系统库)的支持。
acc8226
2022/05/17
1.4K0
一、Node.js入门
NodeJs是一个基于谷歌V8引擎的运行环境。(服务器上的v8引擎就是node.js)
Dreamy.TZK
2020/07/03
6200
Node.js入门以及第一个helloworld程序.
1、概念:简单的说 Node.js 就是运行在服务端的 JavaScript。学之前需要明白Node.js是无法挑战jsp、php或者asp这种老牌网站的地位的,是永远不会出现在证券、金融这种领域的。node.js的出现,就像是思维的极限反转带来的性能极致,它就像是一个玩具一样,如果把传统的jsp必做战斗机的话,那么node.js就是一个无人机! 2、Node.js的三大特性 单线程 事件驱动 非阻塞I/O  Node.js的这三个特性,缺一不可,正是这些特性导致他的性能高效。当别人考虑如何进行服务器集群的
JMCui
2018/03/15
6070
Node.js入门以及第一个helloworld程序.
node.js快速入门
简单的说 Node.js 就是运行在服务端的 JavaScript。Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。 Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。
FGGIT
2024/10/15
960
node.js快速入门
Node.js基础
浏览器(软件)能够运行JavaScript代码,浏览器就是JavaScript代码的运行环境
清出于兰
2020/10/26
3600
Node.js基础
Node.js 安装与开发
Node.js 简介 Node.js是一个Javascript运行环境(runtime),发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。Node.js对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好。 V8引擎执行Javascript的速度非常快,性能非常好。 Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。 Node.js 使用事件驱动, 非
阳光岛主
2018/05/17
2.4K0
Node.js概述
最近几年,Web 领域出现了一个全新的 JavaScript 开发框架——Node.js。该框架一经问世,便以其独特的优势得到了广大开发人员的关注。以下主要从什么是 Node.js 框架,使用 Node.js 框架能够解决什么问题,为什么要用 Node.js 框架,在哪些场合下应该考虑使用 Node.js 来展开概述。
许都博客
2021/06/15
3.4K0
Vue学习笔记之Nodejs入门
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。  Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。  Node.js 的包管理器 npm,是全球最大的开源库生态系统。
Jetpropelledsnake21
2019/02/15
1.2K0
Node.js 1:Nodejs介绍与开发环境搭建
JavaScript是一个脚本语言,需要解析器才可以工作,而浏览器就充当了解析器的角色,在Chrome浏览器中,这个解析器就是V8引擎。它可以将js代码高效地转化为机器码然后执行。V8引擎是用C++写的。V8引擎是浏览器的一部分,他是作为解析JavaScript语法而存在的。 而V8引擎本身就是开源的,也就是说,如果把V8引擎抽离出来,在别的地方也可以运行JS代码,并被解析成机器码。这就是Nodejs的来历。
代码之风
2019/03/14
1.2K0
Node.js 1:Nodejs介绍与开发环境搭建
Node.js原生开发(入门篇)
炑焽
2024/06/24
6200
Node.js能解决什么问题?
对于PHP、JAVA、Python等服务端语言中,为每个客户端连接创建一个新的线程,而每个线程需要大约2M的内存,理论上,具有8GB内存的服务器可以同时连接的最大用户数为4000个左右,要让Web应用程序支持更多的用户,就需要增加服务器的数量,这样硬件的成本就增加了。 服务器所支持的最大同时连接用户量是一个主要的瓶颈。
雪山飞猪
2019/08/29
1.2K0
Node.js简介
Ryan Dahl(瑞安·达尔)尝试过用Ruby, c, Lua去解决, 但都因为语言自身的各种限制而一一失败 语言历史包袱太重, 船大难掉头 各种语言的思想都根深蒂固, 生态没法轻易改变 渐渐摸索到解决问题的钥匙:事件驱动 异步I/O
JokerDJ
2023/11/27
3520
Node.js简介
为什么要用 Node.js
这是一个移动端工程师涉足前端和后端开发的学习笔记,如有错误或理解不到位的地方,万望指正。 Node.js 是什么 传统意义上的 JavaScript 运行在浏览器上,这是因为浏览器内核实际上分为两个部分:渲染引擎和 JavaScript 引擎。前者负责渲染 HTML + CSS,后者则负责运行 JavaScript。Chrome 使用的 JavaScript 引擎是 V8,它的速度非常快。 Node.js 是一个运行在服务端的框架,它的底层就使用了 V8 引擎。我们知道 Apache + PHP 以及 J
前朝楚水
2018/04/03
2.4K0
深入解析Node.js:V8引擎、事件驱动和非阻塞式I/O
🎉欢迎来到架构设计专栏~探索Java中的静态变量与实例变量深入解析Node.js:V8引擎、事件驱动和非阻塞式I/O
IT_陈寒
2023/12/14
3150
深入解析Node.js:V8引擎、事件驱动和非阻塞式I/O
什么是Node.js,它有什么作用,可以干啥呢?
Node.js是一个开源的、跨平台的JavaScript运行环境,用于在服务器端运行JavaScript代码。它使得开发人员可以使用JavaScript来编写服务器端应用程序,从而简化了开发过程,提高了开发效率。
人不走空
2024/02/20
7400
前端基础:vue.js跟node.js分别是什么
Vue.js是一款流行的JavaScript前端框架,一个用于创建用户界面的开源JavaScript框架,旨在更好地组织与简化Web开发。Vue所关注的核心是MVC模式中的视图层,同时,它也能方便地获取数据更新,并通过组件内部特定的方法实现视图与模型的交互。
Twcat_tree
2022/11/30
1.2K0
Node.js原理
概述 Node.js是什么 Node 是一个服务器端 JavaScript 解释器,用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。 Node.js 是一个可以让 JavaScript 运行在浏览器之外的平台。它实现了诸如文件系统、模块、包、操作系统 API、网络通信等 Core JavaScript 没有或者不完善的功能。历史上将 JavaScript移植到浏览器外的计划不止一个,但Node.
xiangzhihong
2018/01/26
3.1K0
相关推荐
五个最佳案例带你解读Node.js的前后之道
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档