代码如何执行
使用高级语言编写的代码需要先编译为机器码(二进制代码)再执行
执行方式有如下两种
编译执行
代码 =》 解析器 =》 中间代码 =》 编译器 =》 机器码 =》 执行结果
把代码一次性编译为机器码,然后执行
解释执行
代码 =》 解析器 =》 中间代码 =》 解释器 =》 执行结果
编译一行代码,执行一行代码,一边编译一边执行
为何需要虚拟机
java 和 javascript 等语言需要虚拟机,是为了跨平台,抹平平台差异。
为何需要中间代码
中间代码一般为字节码
因为把源码编译为机器码占用太多空间,热代码需要缓存下来,避免重复编译。而使用字节码可以节省空间。
当然字节码还能提升代码启动速度、降低代码负责度