Java Bytecode

In this tutorial, we will learn about what is the Java Byte Code and how the byte code gets generated and advantages of it along with JVM interpretation on byte code.

Does Java bytecode readable?

It contains structured set of binary instructions meant to process by the JVM, these instructions will form or obtained after successful compilation of the Java programs or files. Usually, bytecode gets generated by the Java compiler after the compilation of Java file or files. These java files are the source code which are in readable format and written by any developers or programmers to perform a single or set of operations to achieve a desired outcome.

JVM process it by converting it to machine code and thereby machine code gets executed by the CPU.

Pre-requisite for byte code generation is java development kit (JDK) should be installed or present in the machine where the byte code generation takes place.

If JDK is not installed or present in the machine, please follow the steps mentioned in the link java installation and install JDK.

Generating byte code from the java files popularly referred with the name as "Java Compilation"

To perform compilation, we need javac executable which comes with JDK installation.

javac can be executed to compile over a single java file or multiple java files. Addition to just compilation, code optimization also performed during compilation without compromise of desired outcome and code optimization helps to improve the performance of application.

Steps for generating bytecode:

  1. For single java file command is javac --source-path "\.java" -d "\generated"
  2. For multiple java files command is javac --source-path " \*.java" -d "\generated"
  3. Once commands successfully executed, class files will be generated in the output folder.
  4. Each class file contains byte code with respective to the its java file.

Advantages of having bytecode instead of executable file:

  1. Generated byte code cannot run directly, which requires a JVM unlike C or C++ executables.
  2. Which helps to prevent any computer viruses, as it gets executed by JVM only and gives an added advantage for security.
  3. Portability, generated byte code can be executed on any operating system where JVM is installed.
  4. Size of the byte code is less, as it will not have unnecessary instructions.


In this tutorial, we have learned about the byte code, steps to generate and its advantages.