Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google V8的工作方式是否与Java虚拟机类似?_Java_Javascript_Node.js_V8 - Fatal编程技术网

Google V8的工作方式是否与Java虚拟机类似?

Google V8的工作方式是否与Java虚拟机类似?,java,javascript,node.js,v8,Java,Javascript,Node.js,V8,我知道V8是一个JavaScript引擎,但它的工作方式是否与Java虚拟机类似 如果不以同样的方式工作,有什么区别?V8是否直接将JavaScript编译成机器语言?对于两种不同的编程语言,它们是两种截然不同的技术——Java虚拟机是运行Java程序的虚拟机,而V8是JavaScript引擎。事实上,他们的名字中有“Java”一词,这就是相似之处的终结。谷歌的V8与Java无关。这是一个用C++编写的JavaScript引擎。你可以阅读更多关于它的信息。除了拉尔斯·贝克对这两个项目都有帮助之外

我知道V8是一个JavaScript引擎,但它的工作方式是否与Java虚拟机类似


如果不以同样的方式工作,有什么区别?V8是否直接将JavaScript编译成机器语言?

对于两种不同的编程语言,它们是两种截然不同的技术——Java虚拟机是运行Java程序的虚拟机,而V8是JavaScript引擎。事实上,他们的名字中有“Java”一词,这就是相似之处的终结。

谷歌的V8与Java无关。这是一个用C++编写的JavaScript引擎。你可以阅读更多关于它的信息。

除了拉尔斯·贝克对这两个项目都有帮助之外,它们是不相关的

是一个Javascript引擎,它将Javascript编译为本机代码,最著名的是Google Chrome和Node js

是一个运行Java编译器生成的字节码的虚拟机


一个是Javascript引擎,另一个是Java虚拟机,请注意,Java和Javascript与汽车和地毯差不多。还要注意,一个是编译器,另一个是执行介质。

是的,我知道。我想问的是:这些语言是由VM解析然后解释的,还是V8引擎直接将代码编译成机器语言?V8将Javascript编译成机器代码。答案与这个问题无关,还有“汽车和地毯”,他没有问它是否与Java有关,他问它是否以类似的方式工作。确实如此(JIT等人)。@foljs-你错了:OP确实问过它是否与Java有关。在我发布我的答案后,这个问题被编辑成一种完全改变了它的方式。问题的原始版本(你可以通过点击问题下方“编辑”注释旁边的日期查看编辑历史)标题为“V8与Java虚拟机不同吗?”并问:“如果它们的工作方式不同,有哪些不同?”这就是我回答的问题。他问它是否以类似的方式工作,如果它们实现相同的语言,则不会。他甚至在问题中特别提到,他知道V8代表“Javascript”,而不是Java。没有人真正回答你。答案是肯定的:它们都是虚拟机,一个用于java,另一个用于javascript(这是非常不同的语言)。在jvm的情况下,这个vm在运行时(即intreprets it或JIT即时编译)将java字节码转换为cpu的机器代码。在V8中,它将javascript直接插入机器代码中。他们的翻译方式可能有所不同,但总体思路是一样的。谢谢@AndréRosa!为什么不在下面加上它作为正确的答案呢?