Compiler (Java Platform SE 8 )
Keywords: java.lang.Compiler class
Date: 2026-07-22

compact1, compact2, compact3
java.lang

## Class Compiler

- java.lang.Object
- - java.lang.Compiler

-     public final class Compiler
      extends Object

  The `Compiler` class is provided to support Java-to-native-code compilers and related services. By design, the `Compiler` class does nothing; it serves as a placeholder for a JIT compiler implementation.

  When the Java Virtual Machine first starts, it determines if the system property `java.compiler` exists. (System properties are accessible through `System.getProperty(String)` and `System.getProperty(String, String)`. If so, it is assumed to be the name of a library (with a platform-dependent exact location and type); `System.loadLibrary(java.lang.String)` is called to load that library. If this loading succeeds, the function named `java_lang_Compiler_start()` in that library is called.

  If no compiler is available, these methods do nothing.

  Since:
    JDK1.0

- - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static Object` | `command(Object any)` Examines the argument type and its fields and perform some documented operation.
    `static boolean` | `compileClass(Class<?> clazz)` Compiles the specified class.
    `static boolean` | `compileClasses(String string)` Compiles all classes whose name matches the specified string.
    `static void` | `disable()` Cause the Compiler to cease operation.
    `static void` | `enable()` Cause the Compiler to resume operation.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### compileClass

          public static boolean compileClass(Class<?> clazz)

      Compiles the specified class.
      Parameters:
        `clazz` - A class
      Returns:
        `true` if the compilation succeeded; `false` if the compilation failed or no compiler is available
      Throws:
        `NullPointerException` - If `clazz` is `null`

    - #### compileClasses

          public static boolean compileClasses(String string)

      Compiles all classes whose name matches the specified string.
      Parameters:
        `string` - The name of the classes to compile
      Returns:
        `true` if the compilation succeeded; `false` if the compilation failed or no compiler is available
      Throws:
        `NullPointerException` - If `string` is `null`

    - #### command

          public static Object command(Object any)

      Examines the argument type and its fields and perform some documented operation. No specific operations are required.
      Parameters:
        `any` - An argument
      Returns:
        A compiler-specific value, or `null` if no compiler is available
      Throws:
        `NullPointerException` - If `any` is `null`

    - #### enable

          public static void enable()

      Cause the Compiler to resume operation.

    - #### disable

          public static void disable()

      Cause the Compiler to cease operation.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.