Java compiler - Wikipedia
https://en.wikipedia.org/wiki/Java_compiler • 71 KB fetched Open original page
Java compiler - Wikipedia
*
Home
*
Random
*
Nearby
*
Create account
*
Log in
*
Settings
Donate Now
If Wikipedia is useful to you, please give today.
*
About Wikipedia
*
Disclaimers
Search
User menu
*
Create account
*
Log in
Java compiler
*
Article
*
Talk
*
Language
*
Watch
*
Edit
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 . [ 1 ]
The most common form of output from a Java compiler is Java class files containing cross-platform intermediate representation (IR), called Java bytecode . [ 2 ]
The Java virtual machine (JVM) 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. [ 3 ]
It is provided by module jdk.compiler , and requires the full Java Development Kit (as opposed to just the Java Runtime Environment ), and reside in the javax.tools.* namespace. [ 4 ]
Contents
* 1 Example
* 2 See also
* 3 References
* 4 External links
Example
edit
package org.wikipedia.examples ;
import java.io.IOException ;
import java.io.File ;
import javax.tools.JavaCompiler ;
import javax.tools.ToolProvider ;
public class Example {
private final String TEST_FILE_NAME = "Test.java" ;
public static void main ( String [] args ) throws IOException {
File sourceFile = new File ( TEST_FILE_NAME );
if ( ! sourceFile . exists ()) {
throw new IllegalArgumentException ( String . format ( "File path %s does not exist!" , TIME_FILE_NAME ));
}
JavaCompiler compiler = ToolProvider . getSystemJavaCompiler ();
if ( compiler == null ) {
throw new RuntimeException ( "Compiler not available. Are you running on a JRE instead of a JDK?" );
}
int result = compiler . run ( null , null , null , sourceFile );
System . out . printf ( "Compilation result: %s%n" , result == 0 ? "Success" : "Failure" );
}
}
See also
edit
* List of Java Compilers
* javac , the standard Java compiler in Oracle's JDK
* Roslyn (compiler) , compiler for C# also invokable programmatically
References
edit
* ↑ "GCJ - past, present, and future" . Archived from the original on 2019-08-02 . Retrieved 2021-09-24 .
* ↑ "The Java Virtual Machine Specification, Java SE 8 Edition, Section 1.2" . Archived from the original on 2021-09-24 . Retrieved 2021-09-24 .
* ↑ "JSR 199: JavaTM Compiler API" . Archived from the original on 2021-09-24 . Retrieved 2021-09-24 .
* ↑ "JavaCompiler (Java SE)" . docs.oracle.com . Oracle Corporation . Retrieved 21 October 2025 .
External links
edit
* Sun's OpenJDK javac page
* Stephan Diehl, "A Formal Introduction to the Compilation of Java" , Software - Practice and Experience , Vol. 28 (3), pages 297-327, March 1998.
This computer-programming -related article is a stub . You can help Wikipedia by adding missing information .
* v
* t
* e
Retrieved from " https://en.wikipedia.org/w/index.php?title=Java_compiler&oldid=1318028280 "
Last edited on 21 October 2025, at 13:54
Languages
* العربية
* Deutsch
* Français
* 日本語
* 한국어
* ਪੰਜਾਬੀ
* Português
* 中文
*
*
* This page was last edited on 21 October 2025, at 13:54 (UTC) .
* Page was rendered with Parsoid .
* Content is available under CC BY-SA 4.0 unless otherwise noted.
* Privacy policy
* About Wikipedia
* Disclaimers
* Contact Wikipedia
* Legal & safety contacts
* Code of Conduct
* Developers
* Statistics
* Cookie statement
* Terms of Use
* Desktop view
Links found on this page
- Home [direct]
- Random [direct]
- Nearby [direct]
- Create account [direct]
- Log in [direct]
- Settings [direct]
- Donate Now
If Wikipedia is useful to you, please give today. [direct]
- About Wikipedia [direct]
- Disclaimers [direct]
- Article [direct]
- Talk [direct]
- Edit [direct]
- compiler [direct]
- Java programming language [direct]
- machine code [direct]
- operating system [direct]
- domain specific [direct]
- computer system [direct]
- GNU Compiler for Java [direct]
- Java class files [direct]
- cross-platform [direct]
- intermediate representation [direct]
- Java bytecode [direct]
- Java virtual machine [direct]
- interprets [direct]
- bytecode [direct]
- just-in-time [direct]
- dynamic compilation [direct]
- JSR [direct]
- module [direct]
- Java Development Kit [direct]
- Java Runtime Environment [direct]
- edit [direct]
- edit [direct]
- List of Java Compilers [direct]
- javac [direct]
- Roslyn (compiler) [direct]
- edit [direct]
- "GCJ - past, present, and future" [direct]
- Archived [direct]
- "The Java Virtual Machine Specification, Java SE 8 Edition, Section 1.2" [direct]
- Archived [direct]
- "JSR 199: JavaTM Compiler API" [direct]
- Archived [direct]
- "JavaCompiler (Java SE)" [direct]
- edit [direct]
- Sun's OpenJDK javac page [direct]
- "A Formal Introduction to the Compilation of Java" [direct]
- computer-programming [direct]
- stub [direct]
- v [direct]
- t [direct]
- e [direct]
- https://en.wikipedia.org/w/index.php?title=Java_compiler&oldid=1318028280 [direct]
- Last edited on 21 October 2025, at 13:54 [direct]
- العربية [direct]
- Deutsch [direct]
- Français [direct]
- 日本語 [direct]
- 한국어 [direct]
- ਪੰਜਾਬੀ [direct]
- Português [direct]
- 中文 [direct]
- Parsoid [direct]
- CC BY-SA 4.0 [direct]
- Privacy policy [direct]
- Contact Wikipedia [direct]
- Legal & safety contacts [direct]
- Code of Conduct [direct]
- Developers [direct]
- Statistics [direct]
- Cookie statement [direct]
- Terms of Use [direct]
- Desktop view [direct]
|
|