`
jeast
  • 浏览: 71981 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

Google JavaScript 引擎:V8

 
阅读更多

V8  是Google一个开源JavaScript 引擎,它在设计之初就以高效地执行大型的JavaScript 应用程序为目的。V8的JavaScript渲染引擎亮点在于更快速更强壮的JavaScript解析。V8是一个非常反传统的JavaScript引擎,它能够在后台动态的对JS的对象进行分类——一个在其他高级语言中很常见但JS本身不支持的特性。V8对JS的解析不是基于反复loop源代码进行解释而是直接将JS代码编译成机器码运行。换句话说,V8引擎实际上可以看做是JS的扩展和编译器——而传统上类似于JS的解释型语言恰恰是不需要编译器的。

 

      传统的javascript是动态语言, 又可称之为 Prototype-based Language,JavaScript继承方法是使用prototype, 透过指定prototype属性,便可以指定要继承的目标。属性可以在运行时添加到或从对象中删除,引擎会为执行中的物件建立一个属性字典,新的属性都要透过字典查找属性在内存中的位置。V8为object新增属性的时候,就以上次的hidden class为父类别,创建新属性的hidden class的子类别,如此一来属性访问不再需要动态字典查找了。

 

      最后,高级语言的内存管理效能一直是决定其运行效率的重要因素,而当前的JS虚拟机在这方面做的比较基本,对内存的回收也非常保守。V8使用的是非常强势的内存管理策略,一切在运行堆栈里无用的数据都会被强行回收,从而可以大大提高JS代码的运行效率。

 

 

 

V8的优势特点总结:

 

  1. 快速对象属性访问。其特点是将JS对对象属性的访问,从一个动态的查找过程转换成类似于Java/C++的静态访问。毫无疑问,在JavaScript中,对象属性访问是最为频繁的一类操作,这个动态查找的过程其实是相当之消耗时间的。

 

  2. 动态机器码生成。这个也是与快速属性访问相关的。它把动态的JS对象转变为一个类似于Java的静态布局对象。

 

  3. 高效的GC机制。V8提供的是一个stop-the-world, generational, accurate的GC机制。而FF提供的则不是一个分代的GC。在实际应用中,分代的GC相比不分代的GC显然具有更高的效率。这一点,也是Java Hotspot所必须的。

 

     目前,V8的源代码也推送到Github.com上:https://github.com/v8/v8

 

 

  • 大小: 29.9 KB
0
2
分享到:
评论

相关推荐

    Google V8引擎LIB库-谷歌Chrome JavaScript引擎

    **Google V8 引擎与 Chrome JavaScript 引擎** Google V8 引擎是一款高性能的开源 JavaScript 运行时环境,由谷歌开发并应用于其浏览器Chrome中,为JavaScript代码提供了快速且高效的执行平台。V8 不仅是 Chrome 的...

    Google V8 Javascript引擎源代码

    **Google V8 JavaScript引擎**是Google为Chrome浏览器开发的一款高性能的JavaScript引擎,它以其快速的解释和编译能力而闻名。V8引擎的设计目标是使Web应用具备与本地应用程序相似的响应速度,通过将JavaScript代码...

    VS2019谷歌V8引擎8.2版本,编译好的Release版DLL和LIB,和测试demo

    6. **JS引擎对比**:与其他JavaScript引擎如SpiderMonkey(Firefox)和Chakra(Edge)相比,V8以其卓越的性能和广泛的应用场景而知名。它的性能优化技术,如TurboFan优化编译器和Ignition解释器,使得V8在处理复杂...

    delphi调用v8引擎.zip

    V8引擎则是Google开发的一个开源JavaScript运行时环境,广泛应用于Chrome浏览器和Node.js服务器端JavaScript执行。"delphi调用v8引擎.zip"这个压缩包文件很可能是提供了一个示例或教程,展示了如何在Delphi项目中...

    google V8引擎源码工程 (V8 version 3.14.0.1)

    了解并深入研究V8 engine 3.14.0.1的源码,可以帮助开发者更好地理解JavaScript引擎的工作原理,以及如何设计高效的JavaScript代码。同时,这对于那些想要参与V8引擎开发或者构建类似JavaScript运行时环境的人员来说...

    Chrome V8 Javascript引擎

    Chrome V8 JavaScript引擎是Google开发的一款高性能的JavaScript和WebAssembly执行环境,被广泛应用于Chrome浏览器以及Node.js等服务器端环境。V8引擎以其快速的编译速度和高效的运行时性能而闻名,它将JavaScript...

    google v8引擎编译后的dll及头文件

    V8引擎是Google开发的一款高性能的JavaScript和WebAssembly运行时环境,它被广泛应用于Chrome浏览器以及Node.js等服务器端JavaScript平台。V8引擎以其高效、快速的解释和编译JavaScript代码而闻名,它实现了...

    V8JavaScript引擎的PHP扩展

    V8 JavaScript引擎是一款由Google开发的高性能JavaScript和WebAssembly虚拟机,主要用于Chrome浏览器以及Node.js环境中,它以C++编写,能够快速解析和执行JavaScript代码。PHP V8扩展则是将V8引擎集成到PHP中,使得...

    Google V8学习手记,月javascript写服务器端是多少人的梦醒呀,Google v8让javascript和php一样

    args.GetIsolate()->ThrowException(v8::Exception::Error(v8::String::NewFromUtf8(args.GetIsolate(), "Called from JavaScript"))); } // 将 C++ 函数暴露给 JavaScript v8::Local<v8::FunctionTemplate> tpl =...

    delphi 调用google v8 引擎 最新版本

    Google V8则是一款开源的JavaScript引擎,被广泛应用于Chrome浏览器和Node.js环境中,以提供高性能的JavaScript执行能力。本篇文章将深入探讨如何在Delphi项目中调用Google V8引擎,实现高效率执行JavaScript代码。 ...

    Google V8 引擎文档

    v8::Local<v8::Script> script = v8::Script::Compile(context, v8::String::NewFromUtf8(isolate, js_code.c_str(), v8::NewStringType::kNormal).ToLocalChecked(), &origin).ToLocalChecked(); v8::MaybeLocal<v8...

    JavaScript引擎v8 二进制版 for Win32

    JavaScript引擎V8是Google开发的一款高性能的JavaScript引擎,它被广泛应用于Chrome浏览器和Node.js环境中。V8引擎能够快速地解析和执行JavaScript代码,通过即时编译(JIT)技术将JavaScript源代码转换为机器码,...

    Google v8 javascript engine source code

    谷歌V8 JavaScript引擎是Google开发的一款高性能的JavaScript和WebAssembly执行环境,被广泛应用于Chrome浏览器以及Node.js等项目。V8引擎以其快速的解析、编译和执行JavaScript代码的能力而闻名,它通过即时编译...

    javascript v8执行引擎源码

    JavaScript V8执行引擎是Google Chrome浏览器的核心组成部分,也是全球公认的高性能JavaScript引擎之一。V8引擎的设计目标是将JavaScript代码直接编译为机器码,从而实现快速执行。它不仅被用在Chrome浏览器上,还被...

    google v8引擎 x64静态库

    V8引擎是Google开发的一款高性能JavaScript和WebAssembly的开源虚拟机。它被广泛应用于Chrome浏览器以及Node.js等项目,以其高效的执行速度和优秀的内存管理机制而著名。在本压缩包中,我们关注的是V8引擎的x64静态...

    delphi google V8 脚本引擎接口 delphi程序 最佳 javascript 途径

    标题中的“delphi google V8 脚本引擎接口 delphi程序 最佳 javascript 途径”指的是一项技术实践,即在Delphi编程环境中利用Google的V8 JavaScript引擎创建脚本接口,以实现高效的JavaScript交互。V8是Google开发的...

    V8Android,在android上使用v8 javascript引擎.zip

    V8Android是一个开源项目,旨在将Google的V8 JavaScript引擎集成到Android平台上,允许开发者在Android设备上运行JavaScript代码,从而提升应用的交互性和功能多样性。V8是Google为Chrome浏览器开发的一款高性能...

    易语言调用GoogleV8引擎执行JS

    Google V8 引擎使用 C++ 代码编写,实现了 ECMAScript 规范的第五版,可以运行在所有的主流操作系统中,甚至可以运行在移动终端 ( 基于 ARM 的处理器,如 HTC G7 等 )。V8 最早被开发用以嵌入到 Google 的开源浏览器...

    VS2010编译V8 JavaScript引擎库可嵌入C++

    V8 JavaScript引擎是Google开发的一款高性能的开源JavaScript运行环境,被广泛应用于Chrome浏览器以及Node.js等项目中。本文将深入探讨如何使用Visual Studio 2010(VS2010)来编译V8引擎,并将其嵌入到C++项目中。...

    V8JavascriptEngineforPHP这个PHP扩展用于嵌入谷歌的V8Javascript引擎

    V8引擎是谷歌为Chrome浏览器开发的高性能JavaScript引擎,其主要特点是采用即时编译(Just-In-Time,JIT)技术,将JavaScript代码编译成机器码,从而提高了执行速度。V8引擎对ECMAScript规范有着良好的支持,并且...

Global site tag (gtag.js) - Google Analytics