-
AOT Compilation (Ahead-of-Time)
Learn MoreAhead-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…
-
Basic Java Concepts
Learn MoreThe 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…
-
Bytecode
Learn MoreWhen 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…
-
Class Loading
Learn MoreBefore 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…
-
Compact Profiles
Learn MoreNote: 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…
-
CPU and PSU
Learn MoreFrom 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…
-
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)
Learn MoreCRaC 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,…
-
Disco API
Learn MoreThe 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,…
-
Epsilon GC
Learn MoreEpsilon 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…
-
Foreign Function & Memory API
Learn MoreThe 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…
-
Garbage Collection
Learn MoreGarbage 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…
-
GC Algorithms: G1, ZGC, and Shenandoah
Learn MoreThe 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…
-
GraalVM and Native Image
Learn MoreGraalVM 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…
-
Heap Dump
Learn MoreA 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,…
-
Jakarta EE
Learn MoreJakarta 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…
-
Java Champion
Learn MoreA 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,…
-
Java Community Process (JCP)
Learn MoreThe 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,…
-
Java Module System (JPMS)
Learn MoreThe 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…
-
Java Native Interface (JNI)
Learn MoreThe 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…
-
JDK Distributions
Learn MoreThe 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…
-
JDK Mission Control (JMC)
Learn MoreJDK 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…
-
JEP (JDK Enhancement Proposal)
Learn MoreA 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…
-
JFR (Java Flight Recorder)
Learn MoreJava 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 —…
-
JIT Compilation (Just-in-Time)
Learn MoreJust-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…
-
jtreg Test Suites
Learn Morejtreg 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…
-
Latency
Learn MoreLatency 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…
-
LTS and Non-LTS Releases
Learn MoreSince 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…
-
OpenJDK
Learn MoreOpenJDK 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…
-
OpenJDK Coding Guidelines and Code Reviews
Learn MoreOpenJDK 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…
-
OpenJDK Projects
Learn MoreOpenJDK 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…