SOLFIND
Web Lens
Portal home

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

  1. Home [direct]
  2. Random [direct]
  3. Nearby [direct]
  4. Create account [direct]
  5. Log in [direct]
  6. Settings [direct]
  7. Donate Now If Wikipedia is useful to you, please give today. [direct]
  8. About Wikipedia [direct]
  9. Disclaimers [direct]
  10. Article [direct]
  11. Talk [direct]
  12. Edit [direct]
  13. compiler [direct]
  14. Java programming language [direct]
  15. machine code [direct]
  16. operating system [direct]
  17. domain specific [direct]
  18. computer system [direct]
  19. GNU Compiler for Java [direct]
  20. Java class files [direct]
  21. cross-platform [direct]
  22. intermediate representation [direct]
  23. Java bytecode [direct]
  24. Java virtual machine [direct]
  25. interprets [direct]
  26. bytecode [direct]
  27. just-in-time [direct]
  28. dynamic compilation [direct]
  29. JSR [direct]
  30. module [direct]
  31. Java Development Kit [direct]
  32. Java Runtime Environment [direct]
  33. edit [direct]
  34. edit [direct]
  35. List of Java Compilers [direct]
  36. javac [direct]
  37. Roslyn (compiler) [direct]
  38. edit [direct]
  39. "GCJ - past, present, and future" [direct]
  40. Archived [direct]
  41. "The Java Virtual Machine Specification, Java SE 8 Edition, Section 1.2" [direct]
  42. Archived [direct]
  43. "JSR 199: JavaTM Compiler API" [direct]
  44. Archived [direct]
  45. "JavaCompiler (Java SE)" [direct]
  46. edit [direct]
  47. Sun's OpenJDK javac page [direct]
  48. "A Formal Introduction to the Compilation of Java" [direct]
  49. computer-programming [direct]
  50. stub [direct]
  51. v [direct]
  52. t [direct]
  53. e [direct]
  54. https://en.wikipedia.org/w/index.php?title=Java_compiler&oldid=1318028280 [direct]
  55. Last edited on 21 October 2025, at 13:54 [direct]
  56. العربية [direct]
  57. Deutsch [direct]
  58. Français [direct]
  59. 日本語 [direct]
  60. 한국어 [direct]
  61. ਪੰਜਾਬੀ [direct]
  62. Português [direct]
  63. 中文 [direct]
  64. Parsoid [direct]
  65. CC BY-SA 4.0 [direct]
  66. Privacy policy [direct]
  67. Contact Wikipedia [direct]
  68. Legal & safety contacts [direct]
  69. Code of Conduct [direct]
  70. Developers [direct]
  71. Statistics [direct]
  72. Cookie statement [direct]
  73. Terms of Use [direct]
  74. Desktop view [direct]