Skip to content

Latest commit

 

History

History
372 lines (291 loc) · 39.8 KB

File metadata and controls

372 lines (291 loc) · 39.8 KB

Feature Map

This document maps each Java release to the example and test classes that demonstrate or document its features.

Use this when you already know the Java version or feature name and want to jump directly to the code. For learning context, open the linked version README first. For release chronology, use java-release-timeline.md. For feature maturity and JEP links, use status-matrix.md. For a shorter list of hands-on demonstrations, use practical-demos.md.

Java 1

Learning notes: java01 README

Feature Example Test
Object-oriented basics ObjectOrientedBasicsExamples ObjectOrientedBasicsExamplesTest
Interfaces InterfaceExamples InterfaceExamplesTest
Checked exceptions ExceptionHandlingBasicsExamples ExceptionHandlingBasicsExamplesTest
Threads and Runnable ThreadBasicsExamples ThreadBasicsExamplesTest
java.io streams IoBasicsExamples IoBasicsExamplesTest
Inner classes InnerClassExamples InnerClassExamplesTest
Reflection reflection/ReflectionExamples ReflectionExamplesTest
Serialization serialization/SerializationExamples SerializationExamplesTest
JDBC jdbc/JdbcExamples JdbcExamplesTest
RMI rmi/RmiExamples RmiExamplesTest
JavaBeans javabeans/JavaBeansExamples JavaBeansExamplesTest

Java 2

Learning notes: java02 README

Feature Example Test
Collections Framework CollectionsFrameworkExamples CollectionsFrameworkExamplesTest
Sorting with Comparable and Comparator SortingExamples SortingExamplesTest
strictfp strict_floating_point/StrictFloatingPointExamples StrictFloatingPointExamplesTest
Swing swing/SwingExamples SwingExamplesTest
Java 2D java2d/Java2DExamples Java2DExamplesTest
Security policy security/SecurityPolicyExamples SecurityPolicyExamplesTest

Java 3

Learning notes: java03 README

Feature Example Test
Dynamic proxy DynamicProxyExamples DynamicProxyExamplesTest
Timer and TimerTask TimerExamples TimerExamplesTest
Shutdown hooks shutdown_hooks/ShutdownHookExamples ShutdownHookExamplesTest
JNDI jndi/JndiExamples JndiExamplesTest
Legacy integration legacy_integration/LegacyIntegrationNotes LegacyIntegrationNotesTest

Java 4

Learning notes: java04 README

Feature Example Test
Assertions assertions/AssertionExamples AssertionExamplesTest
Regular expressions RegexExamples RegexExamplesTest
NIO NioExamples NioExamplesTest
Logging API LoggingExamples LoggingExamplesTest
Chained exceptions ChainedExceptionExamples ChainedExceptionExamplesTest
Preferences API preferences/PreferencesNotes PreferencesNotesTest
XML/JAXP xml/JaxpExamples JaxpExamplesTest
Integrated security APIs security/SecurityIntegrationExamples SecurityIntegrationExamplesTest

Java 5

Learning notes: java05 README

Feature Example Test
Generics GenericsExamples GenericsExamplesTest
Enhanced for loop EnhancedForLoopExamples EnhancedForLoopExamplesTest
Autoboxing and unboxing AutoboxingExamples AutoboxingExamplesTest
Typesafe enums EnumExamples EnumExamplesTest
Varargs VarargsExamples VarargsExamplesTest
Static import StaticImportExamples StaticImportExamplesTest
Annotations AnnotationExamples AnnotationExamplesTest
Covariant return types CovariantReturnExamples CovariantReturnExamplesTest
Formatted output FormattingExamples FormattingExamplesTest
Concurrency utilities ConcurrencyUtilitiesExamples ConcurrencyUtilitiesExamplesTest

Java 6

Learning notes: java06 README

Feature Example Test
Navigable collections and deques NavigableCollectionExamples NavigableCollectionExamplesTest
Scripting support scripting/ScriptingSupportExamples ScriptingSupportExamplesTest
Compiler API compiler_api/CompilerApiExamples CompilerApiExamplesTest
Console API console_api/ConsoleApiExamples ConsoleApiExamplesTest
Monitoring and management monitoring_management/MonitoringManagementExamples MonitoringManagementExamplesTest
Web-service support web_services/WebServiceSupportNotes WebServiceSupportNotesTest

Java 7

Learning notes: java07 README

Feature Example Test
Try-with-resources TryWithResourcesStatementExamples TryWithResourcesStatementExamplesTest
Multi-catch and precise rethrow ExceptionHandlingExamples ExceptionHandlingExamplesTest
Diamond operator DiamondOperatorExamples DiamondOperatorExamplesTest
Strings in switch StringSwitchExamples StringSwitchExamplesTest
Binary literals and numeric underscores NumericLiteralExamples NumericLiteralExamplesTest
NIO.2 Nio2Examples Nio2ExamplesTest
Fork/join framework ForkJoinExamples ForkJoinExamplesTest
invokedynamic invokedynamic/InvokeDynamicExamples InvokeDynamicExamplesTest

Java 8

Learning notes: java08 README

Feature Example Test
Lambdas LambdaExamples LambdaExamplesTest
Streams StreamExamples StreamExamplesTest
Optional OptionalExamples OptionalExamplesTest
Method references MethodReferenceExamples MethodReferenceExamplesTest
CompletableFuture CompletableFutureExamples CompletableFutureExamplesTest
Default methods DefaultMethodExamples DefaultMethodExamplesTest
Date/Time API DateTimeApiExamples DateTimeApiExamplesTest

Java 9

Learning notes: java09 README

Feature Example Test
Collection factories CollectionFactoryExamples CollectionFactoryExamplesTest
Optional enhancements OptionalEnhancementExamples OptionalEnhancementExamplesTest
Stream enhancements StreamEnhancementExamples StreamEnhancementExamplesTest
Private interface methods PrivateInterfaceMethodExamples PrivateInterfaceMethodExamplesTest
Try-with-resources improvement TryWithResourcesExamples TryWithResourcesExamplesTest
Process API ProcessApiExamples ProcessApiExamplesTest
StackWalker StackWalkerExamples StackWalkerExamplesTest
Module system ModuleSystemExamples ModuleSystemExamplesTest

Java 10

Learning notes: java10 README

Feature Example Test
Local variable type inference LocalVariableTypeInferenceExamples LocalVariableTypeInferenceExamplesTest
Unmodifiable collectors UnmodifiableCollectorsExamples UnmodifiableCollectorsExamplesTest
Optional.orElseThrow() OptionalOrElseThrowExamples OptionalOrElseThrowExamplesTest

Java 11

Learning notes: java11 README

Feature Example Test
String API additions StringApiExamples StringApiExamplesTest
Files read/write string FilesApiExamples FilesApiExamplesTest
HTTP Client HttpClientExamples HttpClientExamplesTest
Predicate.not PredicateNotExamples PredicateNotExamplesTest
Lambda var LambdaVarExamples LambdaVarExamplesTest
Optional.isEmpty OptionalIsEmptyExamples OptionalIsEmptyExamplesTest

Java 12

Learning notes: java12 README

Feature Example Test
Switch expressions preview SwitchExpressionPreviewExamples SwitchExpressionPreviewExamplesTest
Teeing collector TeeingCollectorExamples TeeingCollectorExamplesTest
String.indent StringIndentExamples StringIndentExamplesTest
Files.mismatch FilesMismatchExamples FilesMismatchExamplesTest
Compact number formatting CompactNumberFormatExamples CompactNumberFormatExamplesTest

Java 13

Learning notes: java13 README

Feature Example Test
Text blocks preview TextBlockPreviewExamples TextBlockPreviewExamplesTest
Switch yield preview SwitchYieldPreviewExamples SwitchYieldPreviewExamplesTest
FileSystems.newFileSystem(Path) FileSystemsNewFileSystemExamples FileSystemsNewFileSystemExamplesTest

Java 14

Learning notes: java14 README

Feature Example Test
Switch expressions final SwitchExpressionExamples SwitchExpressionExamplesTest
Helpful NullPointerExceptions HelpfulNullPointerExceptionExamples HelpfulNullPointerExceptionExamplesTest
Records preview RecordPreviewExamples RecordPreviewExamplesTest
Pattern matching for instanceof preview PatternMatchingInstanceofPreviewExamples PatternMatchingInstanceofPreviewExamplesTest

Java 15

Learning notes: java15 README

Feature Example Test
Text blocks final TextBlockExamples TextBlockExamplesTest
Sealed classes preview SealedClassesPreviewExamples SealedClassesPreviewExamplesTest
Hidden classes HiddenClassesExamples HiddenClassesExamplesTest

Java 16

Learning notes: java16 README

Feature Example Test
Records final RecordExamples RecordExamplesTest
Pattern matching for instanceof final PatternMatchingInstanceofExamples PatternMatchingInstanceofExamplesTest
Stream.toList() StreamToListExamples StreamToListExamplesTest
Unix-domain socket channels unix_domain_socket/UnixDomainSocketChannelExamples UnixDomainSocketChannelExamplesTest
Vector API first incubator java16 README No dedicated test
Foreign Linker API incubator java16 README No dedicated test
Foreign-Memory Access API third incubator java16 README No dedicated test

Java 17

Learning notes: java17 README

Feature Example Test
Sealed classes final SealedClassesExamples SealedClassesExamplesTest
Pattern matching for switch preview PatternMatchingSwitchPreviewExamples PatternMatchingSwitchPreviewExamplesTest
Random Generator API RandomGeneratorExamples RandomGeneratorExamplesTest
HexFormat HexFormatExamples HexFormatExamplesTest
Strong encapsulation strong_encapsulation/StrongEncapsulationExamples StrongEncapsulationExamplesTest

Java 18

Learning notes: java18 README

Feature Example Test
UTF-8 default charset Utf8DefaultCharsetExamples Utf8DefaultCharsetExamplesTest
Simple Web Server SimpleStaticFileServer SimpleStaticFileServerTest
JavaDoc snippets JavaDocSnippetExamples JavaDocSnippetExamplesTest
Internet-Address Resolution SPI inet_address_resolution/InetAddressResolutionExamples InetAddressResolutionExamplesTest

Java 19

Learning notes: java19 README

Feature Example Test
Virtual threads preview VirtualThreadsPreviewExamples VirtualThreadsPreviewExamplesTest
Record patterns preview RecordPatternsPreviewExamples RecordPatternsPreviewExamplesTest
Pattern matching for switch preview PatternMatchingSwitchPreviewExamples PatternMatchingSwitchPreviewExamplesTest
Structured concurrency incubator StructuredConcurrencyPreviewNotes StructuredConcurrencyPreviewNotesTest
Foreign Function and Memory API ForeignFunctionMemoryApiPreviewNotes ForeignFunctionMemoryApiPreviewNotesTest

Java 20

Learning notes: java20 README

Feature Example Test
Record patterns second preview RecordPatternsSecondPreviewExamples RecordPatternsSecondPreviewExamplesTest
Pattern matching for switch fourth preview PatternMatchingSwitchFourthPreviewExamples PatternMatchingSwitchFourthPreviewExamplesTest
Virtual threads second preview VirtualThreadsSecondPreviewNotes VirtualThreadsSecondPreviewNotesTest
Scoped values incubator ScopedValuesIncubatorNotes ScopedValuesIncubatorNotesTest
Structured concurrency second incubator StructuredConcurrencySecondIncubatorNotes StructuredConcurrencySecondIncubatorNotesTest
Foreign Function and Memory API second preview ForeignFunctionMemorySecondPreviewNotes ForeignFunctionMemorySecondPreviewNotesTest
Vector API fifth incubator VectorApiFifthIncubatorExamples VectorApiFifthIncubatorExamplesTest

Java 21

Learning notes: java21 README

Feature Example Test
Virtual threads final VirtualThreadsExamples VirtualThreadsExamplesTest
Record patterns final RecordPatternsExamples RecordPatternsExamplesTest
Pattern matching for switch final PatternMatchingSwitchExamples PatternMatchingSwitchExamplesTest
Sequenced collections final SequencedCollectionsExamples SequencedCollectionsExamplesTest
Unnamed patterns and variables preview UnnamedPatternsVariablesPreviewExamples UnnamedPatternsVariablesPreviewExamplesTest
Key Encapsulation Mechanism API KeyEncapsulationExchange KeyEncapsulationExchangeTest
Scoped values preview ScopedValuesPreviewNotes ScopedValuesPreviewNotesTest
Structured concurrency preview StructuredConcurrencyPreviewNotes StructuredConcurrencyPreviewNotesTest

Java 22

Learning notes: java22 README

Feature Example Test
Unnamed variables and patterns final UnnamedVariablesPatternsExamples UnnamedVariablesPatternsExamplesTest
Statements before super(...) preview StatementsBeforeSuperPreviewNotes StatementsBeforeSuperPreviewNotesTest
Stream Gatherers preview StreamGatherersPreviewNotes StreamGatherersPreviewNotesTest
Foreign Function and Memory API final NativeStringParser, NativeStringLength ForeignFunctionExamplesTest
Multi-file source launcher final LaunchMultiFileSourceProgramsExamples LaunchMultiFileSourceProgramsExamplesTest
Class-File API preview ClassFileApiPreviewNotes ClassFileApiPreviewNotesTest
Scoped values second preview ScopedValuesSecondPreviewNotes ScopedValuesSecondPreviewNotesTest
Structured concurrency second preview StructuredConcurrencySecondPreviewNotes StructuredConcurrencySecondPreviewNotesTest

Java 23

Learning notes: java23 README

Feature Example Test
Markdown documentation comments MarkdownDocumentationCommentsExamples MarkdownDocumentationCommentsExamplesTest
Primitive patterns preview PrimitivePatternsPreviewNotes PrimitivePatternsPreviewNotesTest
Module import declarations preview ModuleImportDeclarationsPreviewNotes ModuleImportDeclarationsPreviewNotesTest
Flexible constructor bodies second preview FlexibleConstructorBodiesSecondPreviewNotes FlexibleConstructorBodiesSecondPreviewNotesTest
Stream Gatherers second preview StreamGatherersSecondPreviewNotes StreamGatherersSecondPreviewNotesTest
Class-File API second preview ClassFileApiSecondPreviewNotes ClassFileApiSecondPreviewNotesTest
Scoped values third preview ScopedValuesThirdPreviewNotes ScopedValuesThirdPreviewNotesTest
Structured concurrency third preview StructuredConcurrencyThirdPreviewNotes StructuredConcurrencyThirdPreviewNotesTest
Unsafe memory-access deprecation UnsafeMemoryAccessDeprecationExamples UnsafeMemoryAccessDeprecationExamplesTest
ZGC generational mode ZgcGenerationalModeExamples ZgcGenerationalModeExamplesTest

Java 24

Learning notes: java24 README

Feature Example Test
Stream Gatherers final StreamGatherersExamples StreamGatherersExamplesTest
Class-File API final ClassFileInspector ClassFileInspectorTest
Security Manager disabled SecurityManagerDisabledExamples SecurityManagerDisabledExamplesTest
Virtual-thread synchronization VirtualThreadSynchronizationExamples VirtualThreadSynchronizationExamplesTest
Quantum-resistant crypto ModuleLatticeKemExample, ModuleLatticeDsaExample ModuleLatticeCryptoExamplesTest
AOT class loading AotClassLoadingExamples AotClassLoadingExamplesTest
KDF preview KeyDerivationFunctionPreviewNotes KeyDerivationFunctionPreviewNotesTest
Flexible constructor bodies third preview FlexibleConstructorBodiesThirdPreviewNotes FlexibleConstructorBodiesThirdPreviewNotesTest
Module import declarations second preview ModuleImportDeclarationsSecondPreviewNotes ModuleImportDeclarationsSecondPreviewNotesTest
Primitive patterns second preview PrimitivePatternsSecondPreviewNotes PrimitivePatternsSecondPreviewNotesTest
Scoped values fourth preview ScopedValuesFourthPreviewNotes ScopedValuesFourthPreviewNotesTest
Structured concurrency fourth preview StructuredConcurrencyFourthPreviewNotes StructuredConcurrencyFourthPreviewNotesTest

Java 25

Learning notes: java25 README

Feature Example Test
Scoped values final ScopedValuesExamples ScopedValuesExamplesTest
Flexible constructor bodies final FlexibleConstructorBodiesExamples FlexibleConstructorBodiesExamplesTest
Module import declarations final ModuleImportDeclarationsExamples ModuleImportDeclarationsExamplesTest
Compact source files final CompactSourceFilesExamples CompactSourceFilesExamplesTest
Key Derivation Function API final HkdfKeyDerivationExample HkdfKeyDerivationExampleTest
Primitive patterns third preview PrimitivePatternsThirdPreviewExamples PrimitivePatternsThirdPreviewExamplesTest
Stable values preview StableValuesPreviewExamples StableValuesPreviewExamplesTest
PEM encodings preview PemEncodingsPreviewExamples PemEncodingsPreviewExamplesTest
Structured concurrency fifth preview StructuredConcurrencyFifthPreviewExamples StructuredConcurrencyFifthPreviewExamplesTest
Vector API tenth incubator VectorApiTenthIncubatorExamples VectorApiTenthIncubatorExamplesTest
AOT command-line ergonomics AotCommandLineErgonomicsExamples AotCommandLineErgonomicsExamplesTest
JFR enhancements JfrEnhancementsExamples JfrEnhancementsExamplesTest
Compact object headers CompactObjectHeadersExamples CompactObjectHeadersExamplesTest
Generational Shenandoah GenerationalShenandoahNotes GenerationalShenandoahNotesTest

Java 26

Learning notes: java26 README

Java 26 is represented as C2 explanatory material while the repository keeps JDK 25 as its build baseline.

Feature Example Test
HTTP/3 for the HTTP Client API Http3ClientNotes Http3ClientNotesTest
Final field restrictions FinalFieldRestrictionsNotes FinalFieldRestrictionsNotesTest
Applet API removal AppletApiRemovalNotes AppletApiRemovalNotesTest
AOT object caching AotObjectCachingNotes AotObjectCachingNotesTest
G1 synchronization reduction G1SynchronizationNotes G1SynchronizationNotesTest
PEM encodings second preview PemEncodingsSecondPreviewNotes PemEncodingsSecondPreviewNotesTest
Structured concurrency sixth preview StructuredConcurrencySixthPreviewNotes StructuredConcurrencySixthPreviewNotesTest
Lazy Constants second preview LazyConstantsSecondPreviewNotes LazyConstantsSecondPreviewNotesTest
Vector API eleventh incubator VectorApiEleventhIncubatorNotes VectorApiEleventhIncubatorNotesTest
Primitive patterns fourth preview PrimitivePatternsFourthPreviewNotes PrimitivePatternsFourthPreviewNotesTest