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 collection APIs introduced in Java 6: NavigableSet, NavigableMap, and Deque.
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.
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.
Refreshes early Java Thread and Runnable usage.
Demonstrates Timer and TimerTask.
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.