Java compiler
A Java compiler is a compiler for the Java programming language.
Some Java compilers output optimized machine code for a particular hardware/operating system combination, called a domain specific ''computer system''. An example would be the now discontinued GNU Compiler for Java.
The most common form of output from a Java compiler is Java [class file]s containing cross-platform intermediate representation, called Java bytecode.
The Java virtual machine loads the class files and either interprets the bytecode or just-in-time compiles it to machine code and then possibly optimizes it using dynamic compilation.
A standard on how to interact with Java compilers was specified in JSR 199.
It is provided by module
jdk.compiler, and requires the full Java Development Kit, and reside in the javax.tools.* namespace.Example
package org.wikipedia.examples;
import java.io.IOException;
import java.io.File;
import javax.tools.JavaCompiler;
import javax.tools.ToolProvider;
public class Example