es6标准入门---前言

本文探讨了JavaScript作为解释性语言的运行原理,重点介绍了不同浏览器的JS解释器,如Chrome的V8、Firefox的SpiderMonkey等。深入分析了Node.js如何利用V8解释器在服务端运行JS,其单线程模型以及依赖项如libuv和HTTP-parser。此外,还讨论了Node.js在处理大量并发连接时的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

https://blog.51cto.com/dapengtalk/1886579

你了解js的运行原理吗?

js------解释性语言,他的解释器有多种,不同的浏览器采用不同的js解释器,

Chrome : webkit/blink : V8

FireFox: Gecko : SpiderMonkey

Safari : webkit : JavaScriptCore

IE : Trident : Chakra

node.js就是个不错的东西,他能想到把js拿出来做服务端,那就要一个脱离与浏览器的解释器,所以他就选择了这个v8解释器

so,解释性的语言是脱离不了解释器的,so,你想拿js做服务端,你就必须要一个解释器node,实际都是充当的虚拟机的功能

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

js和其他的解释型语言有什么不一样呢?------单线程------我认为这种语言之间的单线程或者多线程本质上呢是这门语言的虚拟机的机制

Node.js 特点

1、单线程

一个线程,一个链接,在Java、PHP或者.net等服务器端语言中,会为每一个客户端连接创建一个新的线程。而每个线程需要耗费大约2MB内存。也就是说,理论上,一个8GB内存的服务器可以同时连接的最大用户数为4000个左右。要让Web应用程序支持更多的用户,就需要增加服务器的数量,而Web应用程序的硬件成本当然就上升了。(多线程服务容易造成并发安全性的问题)

一个线程,多个链接,Node.js不为每个客户连接创建一个新的线程,而仅仅使用一个线程。当有用户连接了,就触发一个内部事件,通过非阻塞I/O、事件驱动机制,让Node.js程序宏观上也是并行的。使用Node.js,一个8GB内存的服务器,可以同时处理超过4万用户的连接。

另外,单线程带来的好处,操作系统完全不再有线程创建、销毁的时间开销。

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

node的单线程是指服务的单线程,但io是多线程的,而其他的语言则是服务的多线程。。。。。。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

用js做服务端的解释性语言,必须得理解node的运行原理,掌握js是如何运行的?在学一下api库,第三方库以及框架,一个node轻松搞定

js技术体系=各种硬件平台的node虚拟机+api模块+第三方框架

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1.node虚拟机,运行原理网上的不太好

2.api这里看一下

node.js所有依赖项

Node.js 依赖于以下一些依赖项,这样它才能正常工作。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值