zoukankan      html  css  js  c++  java
  • 【记录】Java程序的编译过程?由.java 到.class的过程?

    Javac是一种编译器,它的任务就是将Java源代码语言转化为JVM能够识别的一种语言,然后由JVM将JVM语言再转化成当前这个机器能够识别的机器语言

    词法分析器:读取源代码,一个字节一个自己的读取出来,找出这个词法中if,else,while等

       结论:就是分析源码哪些是标点符号,哪些是动词,哪些是名词,并转化成Token流形式

    语法分析器:分析Token流,检查是否符合Java语言规范

       结论:检查Token流是否符合JAVA语言规范,有没有语法错误。

          例如:if后面是否跟着boolean表达式

    语义分析器:主要工作就是将比较复杂的语法语义转化成简单的语法,

          就如难懂的文言文转化为大家都懂的百话文,或者是注释一下一些不懂的成语。

         结论:就是将复杂的语法转化为简单语法。例如:foreach转化为for循环的过程

    代码生成器:将注解语法树生转化成字节码的过程

         结论:代码生成器的结果就是生成符合java虚拟机规范的字节码

    以上为本人总结。

    参考链接:https://blog.csdn.net/fuzhongmin05/article/details/54880257/

  • 相关阅读:
    公平锁,非公平锁,乐观锁,悲观锁
    需求分析
    需求的获取渠道
    php将中文字符串分割为数组
    面试题
    ecshop中错误
    应用上线前必须进行的10个QA测试
    资料1
    tp数据库配置
    Web开发思路
  • 原文地址:https://www.cnblogs.com/wbl001/p/10929482.html
Copyright © 2011-2022 走看看