program compiler for Java programming language

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 … Wikipedia
🌐
Wikipedia
en.wikipedia.org › wiki › Java_compiler
Java compiler - Wikipedia
October 21, 2025 - 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.
🌐
TheServerSide
theserverside.com › definition › Java-compiler
What is a Java compiler? | Definition from TechTarget
Java compilers include the Java Programming Language Compiler (javac), the GNU Compiler for Java (GCJ), the Eclipse Compiler for Java (ECJ), and Jikes. Programmers typically write language statements in a given programming language one line ...
🌐
GeeksforGeeks
geeksforgeeks.org › java › best-java-compilers
10 Best Java Compilers in 2025 - GeeksforGeeks
July 23, 2025 - Java Compilers refers to a program ... file. The Java compilers mainly include the Java Programming language compilers (javac), the Eclipse compiler for Java(ECJ), the GNU, and Jikes....
🌐
EDUCBA
educba.com › home › software development › software development tutorials › java tutorial › java compilers
Java Compilers | 11 Essential Types of Java Compilers
May 13, 2024 - Also, the class should NOT be made public. Developers commonly use the standard Java compiler (javac) and the Just-In-Time compiler at various stages in the Java development and execution process.
Address   Unit no. 202, Jay Antariksh Bldg, Makwana Road, Marol, Andheri (East),, 400059, Mumbai
🌐
Homework.Study.com
homework.study.com › explanation › the-standard-name-of-the-java-compiler-is.html
The standard name of the Java compiler is | Homework.Study.com
Answer to: The standard name of the Java compiler is By signing up, you'll get thousands of step-by-step solutions to your homework questions. You...
🌐
C2
wiki.c2.com
Java Compiler
This site uses features not available in older browsers
Top answer
1 of 2
9

Eclipse has its own Java compiler, which is called [JDT Core][1] (org.eclipse.jdt.core). The compiler itself is included in the org.eclipse.jdt.core plugin. Eclipse won't use any user installed JDK. Instead it uses its own JDT core to compile Java program due to the following primary reason:

The primary reason is that JDT core has the ability of incremental compilation, which means that it incrementally compiles changes in your code (this is also why Eclipse does not need a compilation button because it automatically compiles when changes are detected). But Oracle's JDK does not support incremental compilation.

Does Eclipse's JDT core compiler include a JRE?

  • No. JDT core is different from JDK. JDT core is a compiler not including a JRE (while JDK includes JRE). This is why we must specify installed JREs for Eclipse to start.

In summary, Eclipse uses its own JDT core as the Java compiler. The JDT core compiler does not have a JRE. So Eclipse requires user installed JRE to run the .class code.

References:

[1] JDT Plug-in Developer Guide, http://help.eclipse.org/kepler/index.jsp?topic=%2Forg.eclipse.jdt.doc.isv%2Fguide%2Fjdt_api_compile.htm

[2] JDT Core Component, https://www.eclipse.org/jdt/core/

[3] How does Eclipse compile classes with only a JRE? How does Eclipse compile classes with only a JRE?

2 of 2
3

In contrast to other Java IDEs, Eclipse uses its own incremental compiler written in Java. It can display more warnings and errors than javac. Both, the Eclipse compiler and javac implement the Java Language Specification. There are corner cases where the two compilers produce different bytecode or one of them fails (e. g. see this Stack Overflow question).

The Eclipse compiler requires at least a JRE for the class files, e. g. java/lang/String.class. A JDK is only to see the source code, but not required by the Eclipse compiler.

So far Eclipse was not shipped with a JRE (see Eclipse bug 506244). But this could change soon after the Java virtual machine OpenJ9 became an Eclipse project.

Find elsewhere
🌐
Quora
quora.com › Which-compiler-does-Java-use
Which compiler does Java use? - Quora
Answer (1 of 5): Javac is the official compiler, and is boot-strapped (written in its own language). According to Wikipedia, there are three major Java compilers: * The Java Programming Language Compiler (javac), included in the Java Development ...
🌐
Oracle
docs.oracle.com › javase › 6 › docs › technotes › tools › windows › javac.html
javac - Java programming language compiler
The javac tool reads class and interface definitions, written in the Java programming language, and compiles them into bytecode class files. It can also process annotations in Java source files and classes. There are two ways to pass source code file names to javac:
🌐
Wikipedia
en.wikipedia.org › wiki › Javac
javac - Wikipedia
October 11, 2024 - javac (pronounced "java-see") is the primary Java compiler included in the Java Development Kit (JDK) from Oracle Corporation.
Top answer
1 of 5
5
Javac is the Java Compiler. AFAIK, It compiles to JVM classes, not (necessarily) to machine code. A compiler is just a regular program that takes some input and produces some output. You can write a compiler in any language A that reads any language B and compiles it to any language C, as long as there's a valid translation that can be made for that program between languages B and C. For example, you can write a compiler in Python that reads Ruby code and outputs equivalent C# code, or any other strange combination of languages. Of course, languages A and B can even be the same; you can write a compiler in Java that takes Java and compiles it to, say, C or Assembly (or straight to machine code). To create an executable, you just need to open a file and write a very specific and carefully-constructed sequence of bytes - you could even do that manually, by typing it by hand if you knew what you were supposed to write. So, as long as you have some way of turning a Java program into an executable (say, a basic Java compiler written in a different language), then you can write javac in Java itself and use that way to get an executable. Then you can throw away the basic compiler and keep using javac. That's often called "bootstrapping". To bootstrap a new programming language, you can write two compilers, both of which take that language as an input. The first one is the "proper" one, like javac in this case, which is written in the new language itself. The second one is a temporary one, which needs to be written in any other language that has an existing working compiler. You can use the temporary compiler to compile the "proper" compiler, at which point you can throw the temporary compiler away and keep developing the language using a compiler written in itself.
2 of 5
5
JavaC compiles Java to byte code, which is an IR (intermediate representation). It’s the JVM that may in turn compile from that IR to machine code.
🌐
OpenJDK
openjdk.org › groups › compiler › guide › compilerAPI.html
Draft: Java™ Compiler API
Most users will not have a compiler available because Sun's JRE is targeted for desktop users which do not normally need a compiler. In this case, the method will return null to indicate that no compiler is available. The JDK can be downloaded from java.sun.com.
🌐
Quora
quora.com › Which-compiler-is-needed-for-Java-programming
Which compiler is needed for Java programming? - Quora
Answer (1 of 5): Java has its official compiler named JDK which can be downloaded from Java SE Development Kit 8 it is an open source software It includes all the development tools you require to do java programming and also an inbuilt JRE which provides you a runtime environment…… and with t...
🌐
Programiz
programiz.com › java-programming › online-compiler
Online Java Compiler - Programiz
// Online Java Compiler // Use this editor to write, compile and run your Java code online class Main { public static void main(String[] args) { System.out.println("Try programiz.pro"); } }
🌐
Oracle
docs.oracle.com › en › java › javase › 17 › docs › api › jdk.compiler › module-summary.html
jdk.compiler (Java SE 17 & JDK 17)
July 15, 2025 - Defines the implementation of the system Java compiler and its command line equivalent, javac. This module provides the equivalent of command-line access to javac via the ToolProvider and Tool service provider interfaces (SPIs), and more flexible access via the JavaCompiler SPI.
🌐
Yorku
cs.yorku.ca › tech › other › java › docs › tooldocs › solaris › javac.html
javac - The Java Compiler
The javac command compiles Java source code into Java bytecodes. You then use the Java interpreter - the java command - to interprete the Java bytecodes. Java source code must be contained in files whose filenames end with the .java extension. The file name must be constructed from the class ...
🌐
Oracle
docs.oracle.com › en › java › javase › 19 › docs › api › jdk.compiler › module-summary.html
jdk.compiler (Java SE 19 & JDK 19)
December 12, 2022 - Defines the implementation of the system Java compiler and its command line equivalent, javac.