编译器和解释器 --JavaScript


编译器--解释器

编译型语言在程序执行之前,需要经过编译器的编译过程,并且编译之后会直接
保留及其能够读懂的二进制文件,这样每次运行程序时,都可以直接运行该二进制文件,而不需要再次重新编译了

解释性语言编写的程序,在每次运行时,都需要通过解释器对程序进行动态解释和执行


V8如何 执行一段Javascript

1、将源码 (进行词法分析和语法分析)转为AST(抽象语法树),然后解释器将其转为字节码, 如果该字节码-是热点代码,则编译器直接将其转为机器码(并把机器码保存下来,以备下次使用), 若不是热点代码,则由解释器 解释执行字节码 ----------JIT

2、JIT (Just-In-Time)--即时编译 ,边编译边运行

AOT (ahead of time)运行前进行编译

posted @ 2020-03-25 12:25  总是不停地吃吃吃  阅读(323)  评论(0编辑  收藏  举报