Java Compiler Class



Introduction

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

Note − This API is deprecated since Java 9 and is not available Java 21 onwards.

Class Declaration

Following is the declaration for java.lang.Compiler class −

public final class Compiler
   extends Object

Class methods

Sr.No. Method & Description
1 static Object command(Object any)

This method examines the argument type and its fields and perform some documented operation.

2 static boolean compileClass(Class<?> clazz)

This method compiles the specified class.

3 static void disable()

This method causes the Compiler to cease operation.

4 static boolean compileClasses(String string)

This method compiles all classes whose name matches the specified string..

5 static void enable()

This method cause the Compiler to resume operation.

Methods inherited

This class inherits methods from the following classes −

  • java.lang.Object

Enabling a Compiler Example

The following example shows the usage of java.lang.Compiler.enable() method. In this program, we've enabled the compiler using enable() method. Then prepare a compile command using command() method. Then we've retrieved hashcode of a new Integer object created and printed the same.

package com.tutorialspoint;

public class CompilerDemo {

   public static void main(String[] args) {

      // checking if compiler is enabled or not        
      Compiler.enable();
      System.out.println("Compiler Enabled...");                          
      Compiler.command("{java.lang.Integer.*}(compile)");

      Integer i = new Integer("50");
    
      // returns a hash code value
      int retval = i.hashCode();
      System.out.println("Value = " + retval); 
   }
} 

Output

Let us compile and run the above program, this will produce the following result −

Compiler Enabled...
Value = 50
Advertisements