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 −

publicfinalclassCompilerextendsObject

Learn Java in-depth with real-world projects through our Java certification course. Enroll and become a certified expert to boost your career.

Class methods

Sr.No.Method & Description
1static Object command(Object any)This method examines the argument type and its fields and perform some documented operation.
2static boolean compileClass(Class<?> clazz)This method compiles the specified class.
3static void disable()This method causes the Compiler to cease operation.
4static boolean compileClasses(String string)This method compiles all classes whose name matches the specified string..
5static 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.

packagecom.tutorialspoint;publicclassCompilerDemo{publicstaticvoidmain(String[] args){// checking if compiler is enabled or not        Compiler.enable();System.out.println("Compiler Enabled...");Compiler.command("{java.lang.Integer.*}(compile)");Integer i =newInteger("50");// returns a hash code valueint 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

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *