首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

什么是Javac

Javac 编译器的任务就是讲java语言规范转化成Java虚拟机语言规范,完成 “翻译工作” 什么是Javac Javac 是一种编译器,能将一种语言规范转化成另外一种语言规范。...那么回过头来,javac的编译器也是将Java这种对人非常友好的编程语言编译成对所有机器都非常友好的语言。注意,这种语言不是针对某个机器的,甚至包括不同种类,不同平台的机器。...如何系哦啊出不同种类,不同机器之间的差别,这个任务就由JVM来完成,而Javac的任务就是将Java源代码语言先转化成JVM能够识别的一种语言,然后由JVM将JVM语言再转化成当前这个机器能够识别的机器语言...如下图所示,javac的任务就是将java源码编译成Java字节码,也就是JVM能够识别的二进制码。

1.2K30

Java编译原理(javac)

前端编译 前端编译大致主要有以下流程: 对源文件进行词法分析产生字符流 对字符流进行语法分析产生抽象语法树 对语法树进行语义分析,确保语义正常 语义分析通过以后生成中间代码(字节码) 下面我们站在javac...词法分析主要由com.sun.tools.javac.parser.Scannaer类来实现。...2.1.2 语法分析 根据Token集合生成抽象语法树,语法树是一种用来表示程序代码语法结构的表现形式,语法树的每一个节点都代表着程序代码中的一个语法结构,例如、类型、修饰符。...上述抽象语法树在Java中使用com.sun.tools.javac.tree.JCTree类来表示,之后所有的操作均建立在抽象语法树之上。...4.2.2 字节码生成 字节码生成是javac编译的最后一个阶段。字节码生成阶段不仅仅是把各个步骤生成的信息转换成字节码写到磁盘,还进行了代码的添加和转换工作。

1.4K10
领券