Java Terminology

Warning: More information is needed to complete this guideline.

Some Java terminology that a user might encounter, particularly when working through this Java guide.

Purpose

Like all programming languages, Java has some terminology that is unique to it and it is helpful to have that language explained. This page may be updated over time so that it holds the most useful terminology to those that use this developer’s guide.

Java-specific Terms and Concepts

Java bytecode: A platform-independent instruction set that Java source code is compiled into. This bytecode can be run by a Java Virtual Machine across different platforms.

Java Virtual Machine (JVM): A virtual machine that runs complied Java programs. Compiled Java bytecode can run across different platforms, so long as a JVM is available to translate this bytecode into native local system code. This makes Java programs platform-independent as they are compiled for the JVM as bytecode, not a specific OS / platform.

Java Runtime Environment (JRE): A Java Virtual Machine (JVM) and the libraries required to run a Java application packaged together. This is commonly used by end users to run a Java application.

Java Development Kit (JDK): A Java Runtime Environment (JRE) and bytecode compiler (along with other development tools) packaged together. A JDK is used by Java developers to write and compile Java programs.

Java Archive File (JAR): A package file format that is used to bundle together Java class files, metadata, and other required resources into a single file for distribution of a Java program.