2016 - 2024

感恩一路有你

java代码和js代码交互 javascript为什么不像java一样直接事先编译成字节码然后跑在v8上?

浏览量:1915 时间:2021-03-20 02:50:38 作者:admin

javascript为什么不像java一样直接事先编译成字节码然后跑在v8上?

JS to V8其实没有虚拟机字节码这一层,直接编译成CPU指令,这也是V8 fast的核心。Java还有一层虚拟机指令。

然而,JS仍然有许多动态语言特性。由于动态语言不能预先固化变量类型,因此会产生大量的处理成本。

编译完成后,首次运行的代码将包含缓存到CPU中的指令。一旦Java被缓存,虚拟指令也将被绕过。所以在这个阶段,CPU指令没有区别。php8也是如此,它很快就会到来。

但是每种语言的优化程度和动态部分的解析复杂度不同,导致实际速度的差异。从这个角度看,Java沉淀时间较长,强大的语言功能没有历史负担,所以Java运行后会出现更快的速度。

java代码和js代码交互 java执行js脚本 java调用js代码 实例

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。