🌐
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 ...

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.
🌐
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
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.
🌐
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...
🌐
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 ...
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
🌐
C2
wiki.c2.com
Java Compiler
This site uses features not available in older browsers
🌐
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...
🌐
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.
🌐
O'Reilly
oreilly.com › library › view › learning-java › 1565927184 › ch03s04.html
The Java Compiler - Learning Java [Book]
The Java Compiler In this section, we’ll say a few words about javac, the Java compiler that is supplied as part of Sun’s SDK. (If you are happily working in another development... - Selection from Learning Java [Book]
🌐
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.
🌐
GeeksforGeeks
geeksforgeeks.org › java › what-are-the-roles-of-java-compiler-and-interpreter
What are the Roles of Java Compiler and Interpreter? - GeeksforGeeks
August 18, 2022 - Compiler and Interpreter are two different ways to translate a program from programming or scripting language to machine language. In this article let's discuss on what are the roles of the Compiler and Interpreter in Java.
🌐
JetBrains
jetbrains.com › help › idea › java-compiler.html
Java Compiler | IntelliJ IDEA Documentation
If you are not happy with the version of the Eclipse compiler bundled with IntelliJ IDEA, you can use the Path to ECJ batch compiler tool option located in the Settings | Build, Execution, Deployment | Compiler | Java Compiler and specify a ...