Java virtual machine

The Java™ virtual machine (VM) is the platform-specific component that runs a Java program.

At run time, the VM interprets the Java bytecode that has been compiled by the Java Compiler. The VM acts as a translator between the language and the underlying operating system and hardware. A Java program requires a specific VM to run on a particular platform.

Eclipse OpenJ9 virtual machine

The SDK includes the Eclipse OpenJ9 VM. This VM, formerly known as the IBM® J9 VM, was contributed by IBM to the Eclipse Foundation in September 2017. Eclipse OpenJ9 includes the following main components:
  • VM Application Programming Interface (API)
  • Diagnostic component
  • Memory management
  • Class loader
  • Interpreter
  • Platform port layer

For further information about the OpenJ9 VM, see JVM components in the J9 VM reference.

Different versions of the IBM SDK contain different implementations of the VM. You can identify the implementation in the output from the java -version command, which gives these strings for the different implementations:
Implementation Output
Start of changes for service refresh 5
IBM J9 VM (build 2.9, JRE 1.8.0 ...
End of changes for service refresh 5
Before service refresh 5:
IBM J9 VM (build 2.8, JRE 1.8.0 ...
7 Release 1
IBM J9 VM (build 2.7, JRE 1.7.0 ...
IBM J9 VM (build 2.6, JRE 1.7.0 ...