Skip to content

Latest commit

 

History

History
353 lines (276 loc) · 35.5 KB

File metadata and controls

353 lines (276 loc) · 35.5 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 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/ReflectionNotes ReflectionNotesTest
Serialization serialization/SerializationNotes SerializationNotesTest
JDBC jdbc/JdbcNotes JdbcNotesTest
RMI rmi/RmiNotes RmiNotesTest
JavaBeans javabeans/JavaBeansNotes JavaBeansNotesTest

Java 2

Learning notes: java02 README

Feature Example Test
Collections Framework CollectionsFrameworkExamples CollectionsFrameworkExamplesTest
Sorting with Comparable and Comparator SortingExamples SortingExamplesTest
strictfp strict_floating_point/StrictFloatingPointNotes StrictFloatingPointNotesTest
Swing swing/SwingNotes SwingNotesTest
Java 2D java2d/Java2DNotes Java2DNotesTest
Security policy security/SecurityPolicyNotes SecurityPolicyNotesTest

Java 3

Learning notes: java03 README

Feature Example Test
Dynamic proxy DynamicProxyExamples DynamicProxyExamplesTest
Timer and TimerTask TimerExamples TimerExamplesTest
Shutdown hooks shutdown_hooks/ShutdownHookNotes ShutdownHookNotesTest
JNDI jndi/JndiNotes JndiNotesTest
Legacy integration legacy_integration/LegacyIntegrationNotes LegacyIntegrationNotesTest

Java 4

Learning notes: java04 README

Feature Example Test
Assertions assertions/AssertionNotes AssertionNotesTest
Regular expressions RegexExamples RegexExamplesTest
NIO NioExamples NioExamplesTest
Logging API LoggingExamples LoggingExamplesTest
Chained exceptions ChainedExceptionExamples ChainedExceptionExamplesTest
Preferences API preferences/PreferencesNotes PreferencesNotesTest
XML/JAXP xml/JaxpNotes JaxpNotesTest
Integrated security APIs security/SecurityIntegrationNotes SecurityIntegrationNotesTest

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/ScriptingSupportNotes ScriptingSupportNotesTest
Compiler API compiler_api/CompilerApiNotes CompilerApiNotesTest
Console API console_api/ConsoleApiNotes ConsoleApiNotesTest
Monitoring and management monitoring_management/MonitoringManagementNotes MonitoringManagementNotesTest
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/InvokeDynamicNotes InvokeDynamicNotesTest

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 ModuleSystemNotes ModuleSystemNotesTest

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 HiddenClassesNotes HiddenClassesNotesTest

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/UnixDomainSocketChannelNotes UnixDomainSocketChannelNotesTest
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 StrongEncapsulationNotesTest

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 InetAddressResolutionNotesTest

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 VectorApiFifthIncubatorNotes VectorApiFifthIncubatorNotesTest

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 LaunchMultiFileSourceProgramsNotes LaunchMultiFileSourceProgramsNotesTest
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 MarkdownDocumentationCommentsNotes MarkdownDocumentationCommentsNotesTest
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 UnsafeMemoryAccessDeprecationNotes UnsafeMemoryAccessDeprecationNotesTest
ZGC generational mode ZgcGenerationalModeNotes ZgcGenerationalModeNotesTest

Java 24

Learning notes: java24 README

Feature Example Test
Stream Gatherers final StreamGatherersExamples StreamGatherersExamplesTest
Class-File API final ClassFileInspector ClassFileInspectorTest
Security Manager disabled SecurityManagerDisabledNotes SecurityManagerDisabledNotesTest
Virtual-thread synchronization VirtualThreadSynchronizationNotes VirtualThreadSynchronizationNotesTest
Quantum-resistant crypto ModuleLatticeKemExample, ModuleLatticeDsaExample ModuleLatticeCryptoExamplesTest
AOT class loading AotClassLoadingNotes AotClassLoadingNotesTest
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 ModuleImportDeclarationsNotes ModuleImportDeclarationsNotesTest
Compact source files final CompactSourceFilesNotes CompactSourceFilesNotesTest
Key Derivation Function API final HkdfKeyDerivationExample HkdfKeyDerivationExampleTest
Primitive patterns third preview PrimitivePatternsThirdPreviewNotes PrimitivePatternsThirdPreviewNotesTest
Stable values preview StableValuesPreviewNotes StableValuesPreviewNotesTest
PEM encodings preview PemEncodingsPreviewNotes PemEncodingsPreviewNotesTest
Structured concurrency fifth preview StructuredConcurrencyFifthPreviewNotes StructuredConcurrencyFifthPreviewNotesTest
Vector API tenth incubator VectorApiTenthIncubatorNotes VectorApiTenthIncubatorNotesTest
AOT command-line ergonomics AotCommandLineErgonomicsNotes AotCommandLineErgonomicsNotesTest
JFR enhancements JfrEnhancementsNotes JfrEnhancementsNotesTest
Compact object headers CompactObjectHeadersNotes CompactObjectHeadersNotesTest
Generational Shenandoah GenerationalShenandoahNotes GenerationalShenandoahNotesTest