Java Compilation Process
Java Compilation Process
In this tutorial, you will learn about the Java Compilation Process. When you write a Java program, you create it in a simple text file using a human-readable language called Java source code. However, computers do not understand this directly. To make the computer understand and execute your Java program, you need to convert the source code into an intermediate form called bytecode.
This process is done by a tool called javac, which is the Java Compiler. It reads your Java source files (with a .java
extension) and translates them into bytecode files (with a .class
extension) that can be run on the Java Virtual Machine (JVM).
What is javac (Java Compiler)?
javac is the primary tool for compiling Java source code into Java bytecode. It comes bundled with the Java Development Kit (JDK). The javac tool takes your .java files and produces .class files, which the JVM can interpret and execute. Without this compilation step, your Java programs cannot be run by the computer.
The compilation process in Java using javac follows these steps:
- You write your Java program and save it in a file with a
.java
extension. - You open a terminal or command prompt and use the
javac
command followed by the name of your Java file. - The
javac
compiler reads the source code and checks it for any syntax errors. - If there are no errors,
javac
compiles the code and generates a.class
file containing bytecode. - The generated bytecode can then be executed on the JVM using the
java
command.
Example
$ javac HelloWorld.java
This command will create a HelloWorld.class
file if there are no errors in the source code.
javac Command-Line Flags
Flag | Description |
---|---|
-d <directory> | Specifies where to place generated class files. |
-classpath <path> | Specifies the path to search for user class files and packages. |
-source <version> | Specifies the version of source code accepted (e.g., 8, 11, 17). |
-target <version> | Generates class files that will work on a specific Java version. |
-verbose | Outputs messages about what the compiler is doing. |
-help | Displays a list of available javac options. |
-version | Prints the compiler version. |
-g | Generates all debugging information (local variables, line numbers, etc.). |
-Xlint | Enables recommended warnings. |
-Werror | Treats warnings as errors and stops compilation. |
Java Tutorials
Java Tutorial on this website: