以下这句话,在很多地方和书籍上都看到,但是就是没有说明为什么java的字节码比传统的解释型语言效率高。按照我的理解,字节码在运行的时候,也是要用jvm的解释器先解释成机器码,然后才能执行的(这里先排除jvm的jit的影响),所以没搞明白为什么字节码的执行就比传统的解释型语言要快了。能想到的就是字节码是紧凑型的,文件很小,不知大家怎么理解下面图片中的那句话---Java语言通过字节码的方式,在一定程度上解决了传统解释型语言执行效率低的问题?
以下这句话,在很多地方和书籍上都看到,但是就是没有说明为什么java的字节码比传统的解释型语言效率高。按照我的理解,字节码在运行的时候,也是要用jvm的解释器先解释成机器码,然后才能执行的(这里先排除jvm的jit的影响),所以没搞明白为什么字节码的执行就比传统的解释型语言要快了。能想到的就是字节码是紧凑型的,文件很小,不知大家怎么理解下面图片中的那句话---Java语言通过字节码的方式,在一定程度上解决了传统解释型语言执行效率低的问题?
4 回答1.3k 阅读✓ 已解决
4 回答1.2k 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
1 回答2.5k 阅读✓ 已解决
2 回答718 阅读✓ 已解决
2 回答1.7k 阅读
2 回答1.7k 阅读
java字节码是伪机器码,自然会比解析型语言高,JVM不是解析型语言,是半编译半解析型语言,解析型语言没有编译过程,直接解析源代码文本,相当于是在执行时进行了一次编译,而java的字节码虽然无法和本地机器码完全一一对应,但可以简单映射到本地机器码,无需做复杂的语法分析之类的编译处理,当然比纯解析语言快。