zoukankan      html  css  js  c++  java
  • 编译器和解释器

    先盗一张图:

    一般来说,编译器是运行前将代码编译成二进制文件,其包含的是可直接执行的机器指令;解释器则是运行时,一条一条将代码解释成平台可执行的机器指令。看上去是编译器比解释器快,是因为执行的是已经编译好的机器指令,而解释器每次运行的都会解释执行。实质上,编译器编译代码时间加上执行时间要比解释器多。

    JAVA严格来说是半编译半解释的语言。

    如上图所示,java是先编译成字节码(非纯二进制代码),即由.java文件编译成.class文件,再由JVM解释器解释执行。

    现在解释两个问题:

    1、为什么JAVA执行相对比较快?

    那是JVM解释的是编译后的字节码,这比直接解释源码要快。

    2、为什么JAVA可以跨平台?

    首先,编译器执行后的程序所有情况下都可以直接运行的,还要看平台的系统,不同系统执行不同的编译版本。

    而JVM可以跨平台安装,其解释执行的阶段把.class文件中的字节码解释成对应平台可执行的机器指令,所以java代码可以做到跨平台执行。

  • 相关阅读:
    VueRouter认识
    vuejs组件
    vue初级使用
    Apache Shiro初认识
    解决表单提交的数据丢失问题
    浅析SpringDataJpa继承结构
    HTTP Status 500
    Eclipse快捷键
    JavaScript(JS)的简单使用
    mysql 函数 GROUP_CONCAT 单元格中最长字符串和excel导出问题
  • 原文地址:https://www.cnblogs.com/ustcwx/p/7586731.html
Copyright © 2011-2022 走看看