JDK1.8源码解读之 Compiler

280 阅读1分钟

概述

Compiler 类是用来 支持java语言转native code,并且支持相关服务。 当java虚拟机启动时,首先检查系统属性 java.Compiler是否存在。 如果存在,假定它是一个库的名称,System.loadLibrary将会加载这个库。 如果加载成功,库中的java_lang_Compiler_start()会被调用。 如果编译器不可用。那么这些方法什么都不会做。

继承关系

public final class Compiler 无继承,且是一个final类。

构造器

private构造器。 备注上写了不要创建实例,也就是说不要创建编译器的实例。

private Compiler() {} //don't make instances

关键方法

compileClass()

编译指定的类

public static native boolean compileClass(Class<?> clazz);

编译所有名称匹配的类。

public static native boolean compileClasses(String string);
command()

检查参数类型及其字段,并执行一些记录的操作。不需要特定的操作。

public static native Object command(Object any);
enable()

使编译器恢复操作

public static native void enable();
disable()

使编译器终止操作

public static native void disable();

希望和大家多多交流


我16年毕业以后,做的是前端,目前打算深入学习java开发。内容有任何问题,欢迎各位小伙伴们指正,也希望小伙伴们给我点赞和关注,给我留言,一起交流讨论,共同进步。