美文网首页
六号线晚报0604

六号线晚报0604

作者: z0nk1n | 来源:发表于2018-06-05 00:38 被阅读0次

天气:晴 风力:无风

tools.jar ---> javac

第一次遇到有项目里用到了tools.jar包,稍微研究下。

  • tools.jar里的内容就是我们平时用到的一些工具类库,例如javac,javap,javah等工具类,bin目录的javac应该是一个封装的调用程序
  • javac实现
  1. com.sun.tools.javac.Main main方法点用main包Main类的compile方法编译java文件
    public static void main(String[] arg) throws Exception {
        System.exit(compile(arg));
    }

    public static int compile(String[] arg) {
        com.sun.tools.javac.main.Main arg0 = new com.sun.tools.javac.main.Main("javac");
        return arg0.compile(arg).exitCode;
    }

2.com.sun.tools.javac.main.Main

    • compile方法层层调用
public Result compile(String[] arg0, String[] arg1, Context arg2, 
        List<JavaFileObject> arg3, Iterable<? extends Processor> arg4) {
       
        //做一些参数的文件判断,日志输出环境等
        //准备compile环境,加载内置插件
        //准备编译类和编译参数
        //编译,arg3, arg4都是空的对象
      ···
      arg5.compile(arg3, this.classnames.toList(), arg4);
      ···
    
    }
    • JavaCompiler.compile()
   ···
    this.delegateCompiler = this.processAnnotations(
            this.enterTrees(this.stopIfError(CompileState.PARSE, this.parseFiles(arg0))), arg1);
    this.delegateCompiler.compile2();
   ···
public void generate(Queue<Pair<Env<AttrContext>, JCClassDecl>> arg0, Queue<JavaFileObject> arg1) {
     ···
}

暂停睡觉~~~

相关文章

  • 六号线晚报0604

    天气:晴 风力:无风 tools.jar ---> javac 第一次遇到有项目里用到了tools.jar包,稍微...

  • 六号线晚报

    终于我也坐了六号线

  • 六号线晚报0606

    天气:晴 风力:微风 会计政策、会计估计及其变更 1.会计政策 会计政策,是指企业在跨级确认、计量和报告中所采用的...

  • 六号线晚报0528

    天气:晴 风力:微风 为什么要 & 0xFF byte类型的数字要&0xff再赋值给int类型,其本质原因就是想保...

  • 六号线晚报0529

    天气:阴转晴 风力:微风 byte组合byte[] System.arraycopy() Arrays.copyO...

  • 六号线晚报0527

    天气:阴 风力:微风 Java时间处理Java8 time包 未完待续

  • 六号线晚报0522

    天气:多云 风力:微风 回调 把实现回调接口的类对象传递到方法里面再利用此对象执行操作异步,即在在方法里启动另一...

  • 六号线晚报0523

    天气:晴 风力:微风 callable 1.callable是一个可以带返回值的多线程接口,类似runnable,...

  • 六号线晚报0524

    天气:晴 风力:无风 java十六进制转各种形式

  • 六号线晚报0531

    天气:阴 风力:微风 OSGi quickstart 插曲 打debug包的时候,执行mvn: resolver:...

网友评论

      本文标题:六号线晚报0604

      本文链接:https://www.haomeiwen.com/subject/jryusftx.html