为什么写这这篇文章
一直有读者问我 javac 源码怎么调试,自己也在写 JVM 掘金小册的过程中阅读了大量的 javac 的源码,网上这方面的文章也比较少,那就来写一篇 javac 源码调试的文章吧,作为 javac 系列文章的开篇。
javac 源码调试的过程是比较简单的,它本身就是一个用 Java 语言写的,对我们理解内部逻辑比较友好。
环境搭建过程
环境备注:Intellij、JDK8
1、第一步下载导入 javac 的源码
如果不想从 openjdk 下载折腾,可以跳过第 1 步直接从我的 github 下载:github.com/arthur-zhan…
OpenJDK 的下载方式为: 打开
hg.openjdk.java.net/jdk8/jdk8/l… ,点击左侧的 zip 或者 gz 进行下载。
在 Intellij 中新建一个 javac-source-code-reading 项目,把源码目录的 src/share/classes/com 目录整个拷贝到项目 src 目录下,删掉没用的 javadoc 目录。
2、找到 javac 主函数入口
代码在
src/com/sun/tools/javac/Main.java
运行这个 main 函数,因为没有加需要编译的源代码路径,不出意外应该会在控制台会输出下面的内容