`
p_3er
  • 浏览: 55673 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

Javac源码简单分析之Javac简单介绍

 
阅读更多

一、简单介绍

javac 是java语言编程编译器。javac工具读由java语言编写的类和接口的定义,并将它们编译成字节代码的class文件。


二、源码获取

OpenJDK6源码:http://download.java.net/openjdk/jdk6/
Javac的源码就在OpenJDK源码里面。
或者在CSDN下载:http://download.csdn.net/detail/p_3er/7383741


三、Javac的包

Javac的公共入口点是com.sun.tools.javac.main.Main。在com.sun.tools.javac下面的包的组织如下:


com.sun.tools.javac.code
描述java语言内在语义的类 – 类型types, 符号symbols,等.


com.sun.tools.javac.comp
用语义细节来分析和标注语法分析树, 比如确定标识符identifiers的类型和符号。


com.sun.tools.javac.jvm
用于读写class files的后端类.


com.sun.tools.javac.main
顶层的驱动类. 编译器的标准入口点是 com.sun.tools.javac.main.Main (more...)


com.sun.tools.javac.parser
读取java源文件并创建语法分析树的类


com.sun.tools.javac.resources
编译器产生的资源文件. 其中两个是由"属性文件编译器"从属性源文件中生成的。Compiler.properties and javac.properties; 第三个是在构建的时候自动产生的,保存版本信息.version.properties


com.sun.tools.javac.tree
表示java语言的被标注的语法树的类. 最顶层的节点Tree.TopLevel表示源文件的内容(应该是JCTree.TopLevel)


com.sun.tools.javac.util
工具类, 提供调试、文件系统存取和javac的集合类的支持.
分享到:
评论

相关推荐

    javac 源码 javac 源码

    了解 javac 的源码对于深入理解 Java 编译过程以及优化代码性能具有重要意义。 1. **Java 编译过程**: - **词法分析**:javac 首先将源代码分解成一个个称为标记的单元,例如关键字、标识符、常量等。 - **语法...

    javac源码和运行说明文件.zip

    下面,我们将详细介绍javac的工作原理、如何搭建和运行javac源码,以及如何利用Eclipse进行学习研究。 1. **javac工作原理**: - **词法分析**:javac首先将源代码分解成一个个小的标记,这些标记代表了语言中的...

    JAVAC源码 LR分析法 源代码

    总之,这份资源集合提供了深入理解`JAVAC`编译器和编译原理的宝贵资料,特别是对于那些对编译器设计感兴趣的开发者而言,通过对`JAVAC`源码的研究,可以学习到如何实现一个高效的词法分析器和LR分析器,这对于提升...

    javac源码免费下载

    在深入理解javac源码的过程中,我们可以更好地了解Java语言的编译原理,以及Java平台如何实现跨平台的执行。 源码分析: 1. **词法分析**:javac首先进行词法分析,将源代码分割成一个个的词法单元(如标识符、...

    Javac内核源码

    8. **优化**:虽然 Javac 的优化功能相对简单,但还是包含了如 dead code elimination(死代码消除)等基本优化步骤,以提高代码运行效率。 阅读并理解 Javac 的源码,对于 Java 程序员来说,不仅可以提升对语言...

    jdk7 javac源码

    这里我们将深入探讨JDK 7中javac源码的相关知识点。 1. **编译过程**: - **词法分析**:javac首先将源代码分解成一个个的词汇单元(tokens),例如关键字、标识符、常量、运算符等。 - **语法分析**:接着,它将...

    javac1.7源代码(完全版,可运行)

    通过阅读和分析javac的源代码,你可以了解到Java编译器如何处理语法错误、类型检查、优化和生成字节码等核心功能。这对于提升Java编程技能、理解编译原理和开发自定义编译器或编译插件都十分有帮助。 **标签相关...

    javac 的 源 代 码

    Java 编译器,javac,是 Java 语言的核心组成部分之一,...无论是提升个人技能,还是解决实际问题,研究javac源码都能带来宝贵的收获。如果你是一名Java开发者,花时间研究这个编译器将会是一次极其有价值的学习经历。

    javac的词法分析,转载自:百度文库

    **Java编译器 javac 的词法分析** Java编译器`javac`是Java开发不可或缺的一部分,负责将源代码转换成可执行的字节码。在这个过程中,词法分析(也称为扫描或词法分解)是第一步,它是将源代码文本转化为编程语言的...

    最新javac源码---GJC1.42_src.rar

    总结来说,"最新javac源码---GJC1.42_src.rar" 是一个深入学习Java编译过程的宝贵资料,它涵盖了词法分析、语法分析、类型检查、错误处理、代码优化等多个方面,对于提高Java编程水平和理解Java运行机制具有重要意义...

    javac--------src

    【描述】:“javac源码系列……” 这个系列的内容可能涵盖了从源码级别的深入剖析javac的工作流程,包括词法分析、语法分析、语义分析、类文件生成等多个关键步骤。通过学习这些内容,开发者能够更深入地理解Java...

    java源码分析-Javac-Research:Java语言编译器(javac)源代码学习研究(包括代码注释、文档、用于代码分析的测试用例)

    Javac的源代码分析对于深入理解Java编程语言的工作原理至关重要,同时也为开发者提供了改进和扩展编译器的可能性。在"Javac-Research"项目中,我们可以找到关于Javac的源代码、相关的文档以及用于分析的测试用例,这...

    javaC/S在线聊天源码

    【标题】"javaC/S在线聊天源码"揭示了这是一个基于Java编程语言开发的客户端/服务器(Client/Server,简称C/S)架构的在线聊天应用的源代码。在这个项目中,开发者利用Java的强大功能和面向对象特性,构建了一个能够...

    jdk9_javac.rar

    《深入理解JDK9中的javac编译器》 在Java开发中,javac是核心的编译器,它负责将源代码转换为字节码,使得Java虚拟机(JVM)能够执行。JDK9作为Java的重要版本,对javac进行了一系列改进和优化,提升了开发效率和...

    javac_可以编译目录.rar

    下面我们将深入探讨 JDK 9 中 javac 的新特性和源码分析: 1. **模块系统(Module System)**:JDK 9 引入了名为 Jigsaw 的模块系统,它允许开发者更清晰地组织和管理代码,增强了程序的可维护性。javac 在这个版本...

    javac.jar

    4. **编译器优化**:`javac` 不仅是一个简单的语法解析器,它还包括了大量的优化策略,如常量折叠、死代码消除等。这些优化使得生成的字节码更高效。 5. **注解处理器**:Java 7 支持注解处理器,它们在编译期间...

    Javac源代码

    1. **编译过程**:`javac` 的工作流程包括词法分析、语法分析、语义分析和代码生成四个阶段。首先,它会将源代码分解为一个个标记(tokens),然后构建抽象语法树(AST),接着检查语法和语义,最后生成符合 JVM ...

    javac-source-code-reading:javac源码调试-java source code

    javac 从源文件(.java)开始,经过词法分析、语法分析、语义分析和代码生成四个主要阶段,最终生成对应的字节码文件(.class)。这个过程中涉及的类主要包括 `com.sun.tools.javac.main.Main`,它是 javac 的主入口...

    Java编译器源码初析示例

    Java编译器源码初析示例主要涉及的是对Java编程语言的核心编译器——Javac的理解与分析。在Java开发中,Javac是官方提供的标准编译器,负责将源代码(.java文件)转换为字节码(.class文件),使得虚拟机(JVM)能够...

    JAVA实战项目源码-计算机毕业设计java专业-项目源码-项目说明介绍-javaC语言试题生成与考试系统

    JAVA实战项目源码-计算机毕业设计java专业-项目源码-项目说明介绍-javaC语言试题生成与考试系统(源代码+论文) 在线考试模块包括学生登录、考试鉴权、考试时间控制和一些简单的考试意外的避免。自动评分模块包括制定...

Global site tag (gtag.js) - Google Analytics