Home

OpenJDK Terminology

Learn definitions of key terms from the world of OpenJDK

Sort by:
  • AOT Compilation (Ahead-of-Time)

    Ahead-of-time (AOT) compilation converts Java source code or bytecode into native machine code before the application runs, rather than during execution. The result is a self-contained native binary that starts…

    Learn More
  • Basic Java Concepts

    The Java programming language and Java virtual machine (also known as Java runtime environment) provide the tools to write operating system independent applications. A Java application employs the JVM (Java…

    Learn More
  • Bytecode

    When you compile a Java source file, the Java compiler (javac) does not produce native machine code for a specific CPU. Instead it produces bytecode: a compact, platform-neutral instruction set…

    Learn More
  • Class Loading

    Before the JVM can execute any code it must load the corresponding .class file into memory. This process is handled by class loaders, which locate, read, and define classes at…

    Learn More
  • Compact Profiles

    Note: Compact Profiles are a Java 8 feature. Starting with Java 9, the same goal — creating a minimal, self-contained runtime — is achieved more flexibly by jlink and the…

    Learn More
  • CPU and PSU

    From Java 9 onward, Oracle moved to a six-month release cadence, releasing a new JDK version every March and September. Security patches, bug fixes, and critical updates are delivered in…

    Learn More
  • Are there any Java terms that you are confused about?

    Send them to [email protected] or leave your request and we'll define them here!

  • CRaC (Coordinated Restore at Checkpoint)

    CRaC is an OpenJDK project that solves one of the most common complaints about Java in cloud environments: slow startup. The JVM traditionally takes time to load classes, initialise frameworks,…

    Learn More
  • Disco API

    The Disco API (short for Universal OpenJDK Discovery API) is a database and REST API that catalogues every available OpenJDK package from every major distributor — Temurin, Zulu, Corretto, Liberica,…

    Learn More
  • Epsilon GC

    Epsilon GC is a no-op garbage collector: it allocates memory on request but never reclaims it. When the Java heap is exhausted, the JVM exits with an OutOfMemoryError. It was…

    Learn More
  • Foreign Function & Memory API

    The Foreign Function & Memory (FFM) API, finalised in Java 22 (JEP 454), provides a safe, efficient, and pure-Java way to interact with native code and off-heap memory — replacing…

    Learn More
  • Garbage Collection

    Garbage Collection (GC) is the process by which the JVM automatically reclaims memory occupied by objects that are no longer reachable by the running application. Java developers do not call…

    Learn More
  • GC Algorithms: G1, ZGC, and Shenandoah

    The JDK ships with several garbage collectors, each designed for different goals. Choosing the right one depends on whether your application prioritises throughput, latency, or predictability. Serial GC The simplest…

    Learn More
  • GraalVM and Native Image

    GraalVM is a high-performance JDK distribution and runtime developed by Oracle. It extends the standard JDK with two key capabilities: the Graal JIT compiler (a Java-written replacement for HotSpot's C2…

    Learn More
  • Heap Dump

    A heap dump is a snapshot of all the objects in a Java process's heap memory at a specific point in time, written to a file. It captures every object,…

    Learn More
  • Jakarta EE

    Jakarta EE is the open-source, community-driven successor to Java EE (Java Platform, Enterprise Edition). It defines a set of specifications for building enterprise Java applications — covering everything from web…

    Learn More
  • Java Champion

    A Java Champion is a recognised leader, educator, or innovator in the Java community — someone who has demonstrated a sustained, meaningful contribution to the broader Java ecosystem through writing,…

    Learn More
  • Java Community Process (JCP)

    The Java Community Process (JCP) is the formal mechanism through which the Java platform specifications are created and evolved. Established in 1998, it allows Java community members — companies, organisations,…

    Learn More
  • Java Module System (JPMS)

    The Java Platform Module System (JPMS), introduced in Java 9 as part of Project Jigsaw, brings a formal module concept to the Java platform. A module is a named, self-describing…

    Learn More
  • Java Native Interface (JNI)

    The Java Native Interface (JNI) is the standard mechanism that allows Java code running in the JVM to call, and be called by, native code written in C, C++, or…

    Learn More
  • JDK Distributions

    The OpenJDK project publishes source code, not binaries. To actually run Java, you need a distribution: a pre-built, tested binary of OpenJDK packaged by a vendor. Multiple vendors publish OpenJDK…

    Learn More
  • JDK Mission Control (JMC)

    JDK Mission Control is a suite of tools for profiling, monitoring, and diagnosing Java applications. It provides a GUI frontend for Java Flight Recorder (JFR) data and a live connection…

    Learn More
  • JEP (JDK Enhancement Proposal)

    A JDK Enhancement Proposal (JEP) is the formal document used to propose, track, and communicate a significant change to the Java platform. Every major language feature, JVM improvement, or API…

    Learn More
  • JFR (Java Flight Recorder)

    Java Flight Recorder (JFR) is a low-overhead profiling and event-collection framework built into the JDK. It records a continuous stream of events about the JVM and the running application —…

    Learn More
  • JIT Compilation (Just-in-Time)

    Just-in-time (JIT) compilation is the process by which the JVM translates bytecode into native machine code while the application is running, rather than before it starts. This is the mechanism…

    Learn More
  • jtreg Test Suites

    jtreg is the test harness for regression and unit testing used by the JDK test framework. For many OpenJDK distributions, the jtreg tests are run in addition to the TCK…

    Learn More
  • Latency

    Latency is the time between the initiation of a procedure and the completion of the procedure; in other words, how long it takes for something to happen. In the realm…

    Learn More
  • LTS and Non-LTS Releases

    Since Java 9, the JDK has followed a strict six-month release cadence: a new version ships every March and September. Most of these are feature releases with a short support…

    Learn More
  • OpenJDK

    OpenJDK is the open-source reference implementation of the Java Platform, Standard Edition (Java SE) specification. It is the upstream project from which virtually all Java distributions are built. OpenJDK is…

    Learn More
  • OpenJDK Coding Guidelines and Code Reviews

    OpenJDK does not have a single exhaustive coding style guide. Sub-components come from diverse origins (HotSpot, the standard library, OpenJFX, etc.) and each has its own conventions. The main reference…

    Learn More
  • OpenJDK Projects

    OpenJDK is organised into named Projects: focused research and development efforts that explore or implement significant improvements to the Java platform. Each project has its own mailing list, repository, and…

    Learn More
1-30 of 47

Subscribe to foojay updates:

https://foojay.io/feed/
Copied to the clipboard