All Classes and Interfaces
Class
Description
Demonstrates annotations, introduced in Java 5.
Runtime-retained marker used by the example.
Demonstrates ahead-of-time class loading and linking, introduced in Java 24.
Result of the complete Java 24 AOT class-loading workflow.
Result from one child process invocation.
Demonstrates Java 25 Ahead-of-Time (AOT) Command-Line Ergonomics, introduced
by JEP 514.
Result of the full AOT workflow.
Result from one child JVM invocation.
Demonstrates the Java 26 AOT object-caching command-line workflow.
Result of the complete AOT object-caching workflow.
Result from one child-JVM invocation.
Demonstrates removal of the Applet API in Java 26.
Result from compiling obsolete applet source.
Demonstrates assertions, introduced in J2SE 1.4.
Demonstrates autoboxing and unboxing, introduced in Java 5.
Demonstrates chained exceptions, standardized in J2SE 1.4.
Explains the Class-File API, introduced as a Java 22 preview feature.
Explains the Class-File API as a Java 23 second preview feature.
Demonstrates parsing a compiled Java class with the Java 24 Class-File API.
Summarizes information parsed from a Java
.class file.Demonstrates collection factory methods introduced in Java 9.
Demonstrates the Collections Framework introduced in Java 2.
Demonstrates compact number formatting, introduced in Java 12.
Verifies the Java 27 HotSpot Compact Object Headers default.
Demonstrates the Java 25 Compact Object Headers runtime option.
A JVM flag state reported by
-XX:+PrintFlagsFinal.Demonstrates Java 25 compact source files and instance main methods.
Captures the compact source launcher result.
Demonstrates the Java 6 Compiler API with real source files and structured
diagnostics.
Immutable result returned by a compiler invocation.
Demonstrates
CompletableFuture, introduced in Java 8 to make
asynchronous work easier to compose.Demonstrates
java.util.concurrent, introduced in Java 5.Demonstrates the Java 6
Console API at a testable process boundary.Demonstrates covariant return types, introduced in Java 5.
Demonstrates the Date and Time API introduced in Java 8 under
java.time.Demonstrates default methods, introduced in Java 8 so interfaces could evolve
without forcing every existing implementation to add new methods
immediately.
Implementation that overrides a default method while keeping the others.
Interface with one abstract method and two default methods.
Implementation that inherits all default behavior from
DefaultMethodExamples.Named.Captures key material derived by the Java 25 KDF API.
Demonstrates the diamond operator, introduced in Java 7.
Demonstrates dynamic proxies, introduced in J2SE 1.3.
Holds the two pieces produced by the sender side of a KEM exchange.
Demonstrates the enhanced
for loop introduced in Java 5.Minimal custom iterable used by the enhanced-for examples.
Demonstrates Java 5 typesafe enums.
Real enum values can carry fields and methods while remaining a closed set
of constants.
Refreshes checked exceptions and basic exception wrapping.
Demonstrates Java 7 exception-handling improvements from Project Coin.
Failure modes used by the example.
Demonstrates file convenience methods introduced in Java 11.
Demonstrates
Files.mismatch(Path, Path), introduced in Java 12.Demonstrates the
FileSystems.newFileSystem(Path) convenience overload
added in Java 13.Demonstrates Java 26 warnings for deep-reflective mutation of final fields.
Result from a child
javac or java process.Complete result of a final-field mutation probe.
Demonstrates flexible constructor bodies, finalized in Java 25.
Simple account model used to demonstrate validation before constructor
delegation.
Explains flexible constructor bodies as a Java 23 second preview feature.
Explains flexible constructor bodies third preview in Java 24.
Captures the observable result of a small native function call.
Explains the Foreign Function and Memory API as a Java 19 preview feature.
Explains the Foreign Function and Memory API second preview in Java 20.
Demonstrates the fork/join framework introduced in Java 7.
Demonstrates formatted output APIs introduced in Java 5.
Explains the Java 27 HotSpot change making G1 the default collector broadly.
Explains Java 26 G1 throughput improvements from reduced synchronization.
Explains Generational Shenandoah, introduced as a product feature in Java 25
by JEP 521.
Captures the child JVM exit code and merged output.
Demonstrates generics, introduced in Java 5.
Language-level feature used by the wildcard example.
First capability required by the multiple-bound example.
Platform-level feature used by the wildcard example.
Second capability required by the multiple-bound example.
Concrete type that satisfies both bounds.
Base type for the bounded wildcard example.
Demonstrates helpful
NullPointerException messages, introduced in
Java 14.Address with a city value used by the null-pointer diagnostic example.
Customer with an address reference used to trigger nested null access.
Demonstrates
HexFormat, introduced in Java 17.Demonstrates hidden classes, introduced in Java 15 by JEP 371.
Compiled template used as class-file bytes for the hidden class definition.
Demonstrates the Java 25 Key Derivation Function API with HKDF-SHA256.
Demonstrates Java 26 HTTP/3 support in the HTTP Client API.
Demonstrates the standard HTTP Client API finalized in Java 11.
Demonstrates the Internet-Address Resolution SPI introduced in Java 18.
Demonstrates inner classes, added in Java 1.1.
Refreshes interfaces as early Java contracts.
Demonstrates Java 7
invokedynamic linkage support.Captures mutable call-site behavior before and after retargeting.
Refreshes classic
java.io stream concepts.Shared bounded child-process support used by Java 27 preview examples.
Result from one child command.
Demonstrates Java 2D rendering to an in-memory image.
Demonstrates JavaBeans introspection, introduced in Java 1.1.
Small bean used by the introspection examples.
Event object delivered when a project changes.
Listener type used to demonstrate JavaBeans event-set discovery.
Demonstrates JavaDoc
@snippet, introduced in Java 18.Demonstrates JAXP XML processing, standardized in J2SE 1.4.
Demonstrates the JDBC 1.1 driver-dispatch model introduced in Java 1.1.
Minimal connection that exposes the selected URL and metadata.
Minimal metadata returned by the learning connection.
Minimal driver contract used by the learning model.
Small model of the JDBC driver-selection role.
Demonstrates Java Flight Recorder (JFR) method timing and tracing introduced
in Java 25.
Summary of method events observed in a JFR recording.
Probes Java 27 JFR redaction options for arguments, environment, and properties.
Demonstrates Java Naming and Directory Interface (JNDI), included in J2SE
1.3.
Minimal in-memory context for demonstrating focused JNDI operations.
JNDI provider factory selected through
Context.INITIAL_CONTEXT_FACTORY.Represents the receiver side of a Java 21 KEM exchange.
Represents the sender side of a Java 21 KEM exchange.
Explains the Key Derivation Function API preview in Java 24.
Demonstrates the full Java 21 Key Encapsulation Mechanism API flow.
Captures the observable result of the KEM exchange for tests and readers.
Demonstrates lambda expressions, one of the main language features introduced
in Java 8.
Simple functional interface used to demonstrate passing behavior into a
method.
Demonstrates
var in lambda parameters, introduced in Java 11.Marker annotation used only to demonstrate annotating an inferred lambda
parameter.
Demonstrates Java 22 multi-file source-program launching.
Captures the launcher child process result.
Demonstrates the second preview of Lazy Constants from JEP 526.
Result from one child process invocation.
Result from compiling and running the generated preview source.
Demonstrates the third preview of Lazy Constants from JEP 531.
Explains legacy integration context around J2SE 1.3.
Demonstrates local variable type inference, introduced in Java 10 through the
var reserved type name.Demonstrates
java.util.logging, introduced in J2SE 1.4.Demonstrates Java 23 Markdown documentation comments by invoking JavaDoc.
Captures the JavaDoc child process result.
Demonstrates method references, introduced in Java 8 as a compact syntax for
lambdas that only call an existing method or constructor.
Simple formatter used to demonstrate a bound instance method reference.
Small Java 8-style data class used by constructor reference examples.
Demonstrates module import declarations, finalized in Java 25.
Captures JDK tool output.
Explains module import declarations as a Java 23 preview feature.
Explains module import declarations second preview in Java 24.
Demonstrates Java 24 module-lattice digital signature support.
Captures the result of signing and verifying data with ML-DSA.
Demonstrates Java 24 module-lattice key encapsulation support.
Captures the observable pieces of a module-lattice KEM exchange.
Demonstrates the Java Platform Module System (JPMS), introduced in Java 9.
Captures child process output.
Demonstrates platform MXBean monitoring APIs improved around Java 6.
Immutable snapshot of runtime monitoring values.
Demonstrates a Java 22 foreign function call to the native
strlen
function.Demonstrates a Java 22 foreign function call to the native
atoi
function.Demonstrates NIO.2 filesystem APIs introduced in Java 7.
Demonstrates Java 4 NIO buffers and channels.
Demonstrates binary literals and underscores in numeric literals, introduced
in Java 7.
Refreshes early Java object-oriented basics: classes, objects, inheritance,
overriding, and encapsulation.
Demonstrates
Optional methods added in Java 9.Demonstrates
Optional, introduced in Java 8 as a container for values
that may be absent.Small Java 8-style data class used by the Optional examples.
Demonstrates
Optional.isEmpty(), introduced in Java 11.Demonstrates the no-argument
Optional.orElseThrow() method added in
Java 10.Demonstrates pattern matching for
instanceof, finalized in Java 16.Demonstrates pattern matching for
instanceof as a Java 14 preview
feature.Demonstrates pattern matching for switch, finalized in Java 21.
Closed command hierarchy used to demonstrate exhaustive switch handling.
Restarts a service.
Starts a service.
Stops a service.
Demonstrates pattern matching for switch as refined in the Java 20 fourth
preview.
Demonstrates pattern matching for
switch as a Java 17 preview
feature.Demonstrates the continued preview of pattern matching for switch in Java 19.
Closed event hierarchy used to demonstrate exhaustive switch handling.
Event representing a user login.
Event representing a user logout.
Demonstrates Java 25 PEM encodings of cryptographic objects, previewed by
JEP 470.
Result from one child process invocation.
Result from compiling and running the generated preview source.
Demonstrates the second preview of PEM encodings of cryptographic objects
from JEP 524.
Result from one child process invocation.
Result from compiling and running the generated preview source.
Demonstrates the third preview of PEM encodings from JEP 538.
Demonstrates Java 27's post-quantum hybrid TLS named-group configuration.
Demonstrates
Predicate.not(Predicate), introduced in Java 11.Explains the Preferences API.
Demonstrates the fifth preview of primitive patterns from JEP 532.
Demonstrates primitive patterns, previewed for the fourth time in Java 26 by
JEP 530.
Result from one child process invocation.
Result from compiling and running the generated preview source.
Explains primitive types in patterns,
instanceof, and switch
as a Java 23 preview feature.Explains primitive patterns second preview in Java 24.
Demonstrates primitive patterns, previewed for the third time in Java 25 by
JEP 507.
Result from one child process invocation.
Result from compiling and running the generated preview source.
Demonstrates private methods in interfaces, introduced in Java 9.
Empty implementation that receives behavior from interface default methods.
Interface with default methods that share private helper logic.
Demonstrates Process API updates introduced in Java 9.
Small Java 9-style data class for process metadata.
Demonstrates the enhanced pseudo-random number generator API introduced in
Java 17.
Demonstrates records, finalized in Java 16.
Simple record with generated accessors and value equality.
Record with a compact constructor for validation.
Demonstrates record patterns, finalized in Java 21.
Point record used by the nested deconstruction example.
Rectangle record made of two points.
Demonstrates record patterns as a Java 19 preview feature.
Small record used by the record pattern example.
Demonstrates record patterns as refined in the Java 20 second preview.
Address record nested inside
RecordPatternsSecondPreviewExamples.Customer.Customer record used to demonstrate nested record deconstruction.
Demonstrates records as a Java 14 preview feature.
Compact data carrier used to demonstrate record syntax.
Demonstrates reflection, introduced in Java 1.1.
Simple target class used by the reflection examples.
Demonstrates
java.util.regex, introduced in J2SE 1.4.Demonstrates Remote Method Invocation, introduced in Java 1.1.
Serializable argument passed to the remote service.
Remote contract.
Local owner for the registry and exported remote object.
Demonstrates scoped values, finalized in Java 25 by JEP 506.
Explains scoped values fourth preview in Java 24.
Explains scoped values as a Java 20 incubator feature.
Explains scoped values as a Java 21 first preview feature.
Explains scoped values as a Java 22 second preview feature.
Explains scoped values as a Java 23 third preview feature.
Demonstrates Java 6 scripting support through JSR 223.
Demonstrates sealed classes, finalized in Java 17.
Final permitted implementation.
Final permitted implementation.
Sealed parent interface that permits only the listed implementations.
Non-sealed implementation, showing that a permitted subtype may reopen the
hierarchy.
Demonstrates sealed classes as a Java 15 preview feature.
Circle implementation permitted by
SealedClassesPreviewExamples.Shape.Rectangle implementation permitted by
SealedClassesPreviewExamples.Shape.Sealed parent type that explicitly lists permitted implementations with
permits.Demonstrates local security APIs integrated into the standard platform.
Summarizes a provider service.
Demonstrates Java 24 permanently disabling the Security Manager.
Demonstrates the Java 2 security-policy model with ordinary permission
objects.
Demonstrates sequenced collections, introduced in Java 21.
Captures direct observations from
SequencedMap.Captures direct observations from
SequencedCollection.Captures the state of a collection and its reversed view after a mutation.
Demonstrates object serialization, introduced in Java 1.1.
Small serializable object graph used by the examples.
Nested serializable object reached from the root snapshot.
Demonstrates JVM shutdown hooks, introduced in J2SE 1.3.
Demonstrates the Java 18 Simple Web Server API.
Demonstrates Java 2 collection sorting with
Comparable and
Comparator.Demonstrates Java 25 Stable Values, previewed by JEP 502.
Result from one child process invocation.
Result from compiling and running the generated preview source.
Demonstrates
StackWalker, introduced in Java 9.Explains statements before
super(...) as a Java 22 preview feature.Represents a response returned by the local static-file server example.
Demonstrates static import, introduced in Java 5.
Demonstrates Stream API enhancements introduced in Java 9.
Demonstrates the Stream API introduced in Java 8.
Small Java 8-style data class used by the stream examples.
Demonstrates Stream Gatherers, finalized in Java 24.
Explains Stream Gatherers, introduced as a Java 22 preview feature.
Explains Stream Gatherers as a Java 23 second preview feature.
Demonstrates
Stream.toList(), introduced in Java 16.Demonstrates
strictfp, introduced in Java 2.Demonstrates String API additions introduced in Java 11.
Demonstrates
String.indent(int), introduced in Java 12.Demonstrates strings in
switch, introduced in Java 7.Demonstrates Java 17 strong encapsulation with isolated child JVMs.
Captures child JVM output.
Demonstrates Structured Concurrency, previewed for the fifth time in Java 25
by JEP 505.
Result from one child process invocation.
Result from compiling and running the generated preview source.
Explains structured concurrency fourth preview in Java 24.
Explains structured concurrency as an incubating feature in Java 19.
Explains structured concurrency as a Java 21 first preview feature.
Explains structured concurrency as a Java 20 second incubator feature.
Explains structured concurrency as a Java 22 second preview feature.
Demonstrates the seventh preview of Structured Concurrency from JEP 533.
Demonstrates the sixth preview of Structured Concurrency from JEP 525.
Result from one child process invocation.
Result from compiling and running the generated preview source.
Explains structured concurrency as a Java 23 third preview feature.
Demonstrates headless-safe Swing concepts from the Java 2 platform.
Demonstrates switch expressions, finalized in Java 14.
Demonstrates switch expressions as a Java 12 preview feature.
Demonstrates the Java 13 preview refinement that introduced
yield in
switch expressions.Demonstrates
Collectors.teeing(java.util.stream.Collector, java.util.stream.Collector, java.util.function.BiFunction), introduced in
Java 12.Small Java 12-style data class for teeing collector results.
Demonstrates text blocks, finalized in Java 15.
Demonstrates text blocks as a Java 13 preview feature.
Demonstrates the Java 9 try-with-resources improvement.
Demonstrates try-with-resources, introduced in Java 7.
Demonstrates Unix-domain socket channel support, introduced in Java 16.
Demonstrates unmodifiable collectors introduced in Java 10.
Small Java 10-style data class used by the collector examples.
Demonstrates unnamed patterns and variables as a Java 21 preview feature.
Line record used by the unnamed record-pattern example.
Point record used by the unnamed record-pattern example.
Demonstrates unnamed variables and patterns, finalized in Java 22.
Small functional interface used to demonstrate an ignored lambda
parameter.
Demonstrates Java 23's migration pressure away from
sun.misc.Unsafe
memory-access methods.Captures a child process result.
Demonstrates UTF-8 as the default charset, standardized in Java 18.
Demonstrates varargs, introduced in Java 5.
Demonstrates the Java 26 Vector API, continued as an eleventh incubator by
JEP 529.
Result from one child process invocation.
Result from compiling and running the generated incubator source.
Demonstrates the Java 20 Vector API, continued as a fifth incubator by JEP
438.
Result from one child process invocation.
Result from compiling, inspecting, and running the generated Vector API source.
Demonstrates the Java 25 Vector API, continued as a tenth incubator by JEP
508.
Result from one child process invocation.
Result from compiling and running the generated incubator-module source.
Explains the Java 27 twelfth Vector API incubator.
Demonstrates virtual threads, finalized in Java 21.
Demonstrates virtual threads as a Java 19 preview feature.
Explains virtual threads as a Java 20 second preview feature.
Demonstrates Java 24 synchronization improvements for virtual threads.
Result from running the child JVM probe.
Explains Java 6 web-service support.
Demonstrates the Java 23 ZGC generational-mode runtime boundary.
Captures a child process result.
A JVM flag state reported by
-XX:+PrintFlagsFinal.