V8 JavaScript引擎

这篇具有很好参考价值的文章主要介绍了V8 JavaScript引擎。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

V8 JavaScript引擎

简介

V8 (v8.dev)是 Google 的开源高性能 JavaScriptWebAssembly 引擎,用 C++ 编写。它用于 ChromeNode.js 等。它实现了 ECMAScript 和 WebAssembly,并运行在 Windows 7 或更高版本、macOS 10.12+ 以及使用 x64、IA-32、ARM 或 MIPS 处理器的 Linux 系统上。 V8 可以独立运行,也可以嵌入到任何 C++ 应用程序中

V8是为谷歌Chrome提供动力的JavaScript引擎的名称。它使用我们的JavaScript并在使用Chrome浏览时执行它。

V8提供了JavaScript执行的运行时环境。DOM和其他Web平台API由浏览器提供。

最酷的是JavaScript引擎独不依赖于浏览器。这就推动了Node.js的兴起。早在2009年,V8就被选为Node.js引擎,随着Node.js流行的激增,V8成为了现在为大量用JavaScript编写的服务器端代码提供动力的引擎。

Node.js的生态系统是巨大的,这要归功于V8,它也为桌面应用程序提供了动力,比如Electron等项目。

其他js引擎

  • Firefox 使用SpiderMonkey

(https://spidermonkey.dev/)

SpiderMonkey是Mozilla的JavaScript和WebAssembly引擎,用于Firefox,Servo和其他各种项目。它是用C++,Rust和JavaScript编写的。你可以将它嵌入到 C++ 和 Rust 项目中,并且可以作为一个独立的 shell 运行。

  • Safari 使用的是JavaScriptCore(也称为Nitro

(https://developer.apple.com/documentation/javascriptcore)

JavaScriptCore 框架提供了从 Swift、Objective-C 和基于 C 的应用程序评估 JavaScript 程序的能力。您还可以使用 JavaScriptCore 将自定义对象插入到 JavaScript 环境中。

  • Edge 之前使用的是Chakra但最近使用ChromiumV8引擎进行了重构。

所有这些引擎都实现ECMA-262标准,也称为ECMAScript,这是JavaScript使用的标准。

追求性能

V8是用C++编写的,并且不断改进。它是可移植的,可以在Mac、Windows、Linux和其他几个系统上运行。

在本次V8简介中,我们将忽略V8的实现细节:它们可以在更权威的网站(例如V8官方网站)上找到,而且它们会随着时间的推移而变化,通常会发生根本性的变化。

V8一直在发展,就像周围的其他JavaScript引擎一样,以加快Web和Node.js生态系统的速度。

在网络上,性能竞争已经持续了多年,我们(作为用户和开发人员)从这场竞争中受益匪浅,因为我们年复一年地获得更快、更优化我们的机器。

编译

JavaScript通常被认为是一种解释语言,但现代JavaScript引擎不再只是解释JavaScript,而是编译它

自2009年SpiderMonkey JavaScript编译器被添加到Firefox 3.5中以来,这种情况一直在发生,每个人都遵循了这个想法。

JavaScript由V8内部编译,采用实时(JIT)编译来加快执行速度。

这似乎有违直觉,但自2004年谷歌地图推出以来,JavaScript已经从一种通常执行几十行代码来完成应用程序的语言演变而来,浏览器中运行着数千到数十万行代码。

我们的应用程序现在可以在浏览器中运行数小时,而不仅仅是一些表单验证规则或简单的脚本。

在这个新的世界里,编译JavaScript是非常有意义的,虽然可能需要更多时间才能准备好 JavaScript,一旦完成,它将比纯解释代码更具性能。

实际上就是采用编译之后,就类似后端语言了,先编译,然后再执行,我们把代码前期把代码编译好,在正式执行的时候,速度会有很大的提升,这样用户等待时间就更短了,体验也会更好文章来源地址https://www.toymoban.com/news/detail-436550.html

到了这里,关于V8 JavaScript引擎的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • LVGL简介(基于v8.1-8.2)

      LVGL( Light and Versatile Graphics Library )是 一个轻量级的嵌入式图形库 。LVGL的项目作者是来自匈牙利首都布达佩斯的 Gábor Kiss-Vámosi 。Kiss 在2016年将其发布在 GitHub上。   当时叫 LittlevGL而不是LVGL,后来作者重新命名为 LVGL,甚至连仓库地址都改了。 像一般的开源项目的那样

    2024年02月02日
    浏览(87)
  • Chrome的V8引擎 和操作系统交互介绍

            Chrome的V8引擎是一个用C++编写的开源JavaScript和WebAssembly引擎,它被用于Chrome浏览器中,以解释和执行JavaScript代码。V8引擎将JavaScript代码转换为机器代码,这使得JavaScript能够以接近本地代码的速度运行。          V8引擎与操作系统的交互主要体现在以下几个方面

    2024年03月18日
    浏览(52)
  • Electron 30.0.0 发布,升级 Node 和 V8 引擎

    近日,Electron 30.0.0 正式发布!你可以通过 npm install electron@latest 进行安装,或者从 Electron 的发布网站下载,继续阅读了解此版本的详细信息。 Windows 上支持 ASAR 完整性融合。如果未正确配置,启用 ASAR 完整性的现有应用程序可能在 Windows 上无法正常工作。使用 Electron 打包工

    2024年04月29日
    浏览(37)
  • [javascript核心-08] V8 内存管理机制及性能优化

    V8 本身也是程序,它本身也会申请内存,它申请的内存称为常驻内存,而它又将内存分为堆和栈 栈内存介绍 栈用于存放JS 中的基本类型和引用类型指针 栈空间是连续的,增加删除只需要移动指针,操作速度很快 栈空间是有限的,若超出栈空间内存,会抛出栈空间溢出错误

    2024年02月16日
    浏览(59)
  • java调用js文件的两种方法(支持V8引擎)

    对java逆向感兴趣的盆友可以关注我以前的文章,有图片验证码识别、AES、SHA256等各种加密的java实现,不定时更新常用算法和加密,欢迎一起交流讨论! 在日常逆向中,一些前端的加密代码用java复现出来比较难,所以经常需要调用js文件来实现加密操作,接下来将介绍两种常

    2024年02月10日
    浏览(32)
  • Node.js、Chrome V8 引擎、非阻塞式I/O介绍

    👍 点赞,你的认可是我创作的动力! ⭐️ 收藏,你的青睐是我努力的方向! ✏️ 评论,你的意见是我进步的财富! Node.js 是一个基于 Chrome V8 引擎的开源服务器端 JavaScript 运行环境,它允许开发者使用 JavaScript 编写服务器端应用程序。以下是关于 Node.js 的详细介绍: 特点

    2024年02月05日
    浏览(39)
  • PHP在线加密系统-陌屿云PLUS开源版V8.01

    陌屿云PLUS版V8.01开源版本 PHP在线加密系统源码 v8.0 1.新模板新功能 2.添加新弹窗功能 3.新上传文件判断 4.代理注册发验证码 5.新公告功能 6.全局美化模板 8.代理级别系统 10.添加在线充值余额 11.添加在线反馈系统 12.更新三套首页模板 13.在线切换首页模板 15.重新写的安装页面

    2023年04月21日
    浏览(69)
  • DHTMLX Suite v8.3发布!深化JavaScript UI小部件库使用体验

    DHTMLX UI 组件库允许您更快地构建跨平台、跨浏览器 Web 和移动应用程序。它包括一组丰富的即用式 HTML5 组件,这些组件可以轻松组合到单个应用程序界面中。 DHTMLX Suite v8.3已于近日正式发布啦!这个更新附带了一组新特性和改进,旨在促进您使用JavaScript UI小部件库的体验。

    2024年02月02日
    浏览(34)
  • Node.js npm V8 React Express的运行配合关系:构建JavaScript应用的基石

    目录 Node.js 和 V8 引擎 Node.js 和 npm LTS(Long Term Support) React Node.js的作用 Express Node.js 和 V8 引擎 Node.js 使用 Google 的 V8 JavaScript 引擎 来执行 JavaScript 代码。V8 是一个高性能的 JavaScript 和 WebAssembly 引擎,用于在 Google Chrome 浏览器和 Node.js 中运行 JavaScript。 V8 引擎的更新 通常包括

    2024年03月12日
    浏览(59)
  • 深入剖析gRPC:Google开源的高性能RPC框架

    在本篇文章中,我们将深入剖析gRPC,Google开源的高性能RPC框架。gRPC是一种基于HTTP/2的高性能、可扩展的RPC框架,它使用Protocol Buffers作为接口定义语言,可以在多种编程语言之间实现无缝通信。 gRPC的核心设计理念是:通过使用HTTP/2作为传输协议,实现高效、可扩展的RPC通信

    2024年02月19日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包