9月8号NODEJS4 发布。 Node 和 io.js 正式合并。
如果你是一个JAVA程序员,正好又对JVM有点了解。你会发现V8和JVM-HotSpot有很多有趣相同的理念。
为什么呢?
因为,Lars Bak先后担任了这两个项目的组长。(大神真的到处飘)
本文将不涉及到V8的详细实现,只当做入门介绍。
V8的之前的时代
V8是一个由Google开发的开源JavaScript引擎,用於Google Chrome中。主要是C编写的。
Google研发小组在2006年开始研发V8,谷歌浏览器使用的是WebKit引擎,谷歌使用V8替换掉原生的JavaScriptCode。
V8开发小组是一群程序语言专家。核心工程师Lars Bak之前研发了HotSpot。
1995年。JS出现在网景公司的Netscape Navigator 2.0浏览器中,
其主要用于网页上少数的动画,交互操作,或者其他类似的动作上,对于性能的要求并不高。
浏览器的显示速度视网络传输速度以及渲染引擎(rendering engine)解析HTML、CSS(cascading style sheets, CSS)及其他代码的速度而定。浏览器的开发工作优先提升渲染引擎的速度,而JavaScript的处理速度不是太重要。V8的诞生
最近几年,随着页面运用的兴起;对于JS引擎的性能越来越重视, 这些应用表现出的速度不仅受到服务器、网络、渲染引擎以及其他诸多因素的影响,同时也受到JavaScript本身执行速度的影响。
部分的原因是Google对既有JavaScript引擎的执行速度不满意,因此V8就诞生了。
总结
V8 是 Google 发布的开源 JavaScript 引擎,采用 C++ 编写,在 Google 的 浏览器中被使用。V8 引擎可以独立运行,也可以用来嵌入到 C++ 应用程序中执行
V8引擎工程是一套开源的系统,地址是: https://github.com/v8/v8
- 关于Lars Bak
2000或2001年以前在美国,是sun的HotSpot jdk的主力开发之一
2002回到丹麦,年创立OOvm。因为他对Smalltalk的热爱,OOvm被写成一个以Smalltalk为开发语言的迷你虚拟机,主打各种资源有限嵌入式设备,代码调试、热部署、热替换都很方便。没记错的话当时宣传是最低128K
ram就可以运行。 OOvm在2004年被当时J2ME vm的主要开发商esmertec收购,后来改名为OSVM,以突出其能够在bare
metal上运行的特性。 Lars Bak的家是个丹麦的农场,有时候高层开会就跑去他家里开…
2006年因为经济不景气,同时OSVM始终没能在市场上取得大的进展(一方面原因是Smalltalk还是太小众了),esmertec关掉了位于丹麦的OSVM分支。
Lars Bak随后加入Google。这里Wikipedia上的记载有误,他是在06年而不是04年加入Google从事V8开发的