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
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy