Chapter 4. Java Virtual Machines (JVM)

# Chapter 4. Java Virtual Machines (JVM)

## 4.1. What JVMs are available in Debian?

The following JVMs are currently available in Debian Jessie:

- `openjdk-7-jre`

The following lists JVMs available in Debian 9.0 release ('Stretch'):

- `openjdk-8-jre`

## 4.2. What Java Compilers are available in Debian?

- `openjdk-7-jdk`

- `openjdk-8-jdk`

Compiles Java source to native code, also source to bytecode, or bytecode to native code. Please note that the support of the Java language is not completed.

## 4.3. What API do these JVMs provide?

Note that providing an API does not mean that everything is implemented, and certainly not implemented correctly.

## 4.4. Are there known problems?

Yes, there are. Some of these are reported as Debian bugs. You can look up the bugs for a specific Debian package at the Debian Bug Tracking System. As a quick link, here are some packages:

- java-common

- openjdk-7

- openjdk-8

As common within the Debian project, the developers would appreciate good bug reports on found problems. These include the good description of the problem, the command that gives the problem, the errors given when running the command, and any other information that might be relevant. A good tool to report bugs is `reportbug`.

## 4.5. How can I use the proprietary version of the JDK/JRE from Oracle as a Debian package?

The package java-package provides an easy way to convert an upstream installer into a Debian package. It should be as easy as:

    make-jpkg ~/Downloads/jdk-6u31-linux-x64.bin

For more information, see this Blog article

## 4.6. Do I need a JVM to run a Java program in Debian?

No, you can try to run the applications without a jvm by compiling the source code to native code is. However, the usage of the OpenJDK is recommended.

Chapter 3. Managing Java (for users and administrators) |  | Chapter 5. Java Plugins for Browsers