Java Language and Virtual Machine Specifications
Java SE 27
Released September 2026 as JSR 402
The Java Language Specification, Java SE 27 Edition
HTML | PDF
Preview feature:
Primitive Types in Patterns, instanceof, and switch
The Java Virtual Machine Specification, Java SE 27 Edition
HTML | PDF
Java SE 26
Released March 2026 as JSR 401
The Java Language Specification, Java SE 26 Edition
HTML | PDF
Preview feature:
Primitive Types in Patterns, instanceof, and switch
The Java Virtual Machine Specification, Java SE 26 Edition
HTML | PDF
Java SE 25
Released September 2025 as JSR 400
The Java Language Specification, Java SE 25 Edition
HTML | PDF
Preview feature:
Primitive Types in Patterns, instanceof, and switch
The Java Virtual Machine Specification, Java SE 25 Edition
HTML | PDF
Java SE 24
Released March 2025 as JSR 399
The Java Language Specification, Java SE 24 Edition
HTML | PDF
Preview feature:
Flexible Constructor Bodies
Preview feature:
Module Import Declarations
Preview feature:
Primitive Types in Patterns, instanceof, and switch
Preview feature:
Simple Source Files and Instance main Methods
The Java Virtual Machine Specification, Java SE 24 Edition
HTML | PDF
Preview feature:
Module Import Declarations
Preview feature:
Simple Source Files and Instance main Methods
Java SE 23
Released September 2024 as JSR 398
The Java Language Specification, Java SE 23 Edition
HTML | PDF
Preview feature:
Flexible Constructor Bodies
Preview feature:
Implicitly Declared Classes and Instance main Methods
Preview feature:
Module Import Declarations
Preview feature:
Primitive Types in Patterns, instanceof, and switch
The Java Virtual Machine Specification, Java SE 23 Edition
HTML | PDF
Preview feature:
Implicitly Declared Classes and Instance main Methods
Java SE 22
Released March 2024 as JSR 397
The Java Language Specification, Java SE 22 Edition
HTML | PDF
Preview feature:
Implicitly Declared Classes and Instance main Methods
Preview feature:
Statements Before super(...)
Preview feature:
String Templates
The Java Virtual Machine Specification, Java SE 22 Edition
HTML | PDF
Preview feature:
Implicitly Declared Classes and Instance main Methods
Java SE 21
Released September 2023 as JSR 396
The Java Language Specification, Java SE 21 Edition
HTML | PDF
Preview feature:
String Templates
Preview feature:
Unnamed Classes and Instance main Methods
Preview feature:
Unnamed Patterns and Variables
The Java Virtual Machine Specification, Java SE 21 Edition
HTML | PDF
Preview feature:
Unnamed Classes and Instance main Methods
Java SE 20
Released March 2023 as JSR 395
The Java Language Specification, Java SE 20 Edition
HTML | PDF
Preview feature:
Pattern Matching for switch
Preview feature:
Record Patterns
The Java Virtual Machine Specification, Java SE 20 Edition
HTML | PDF
Java SE 19
Released September 2022 as JSR 394
The Java Language Specification, Java SE 19 Edition
HTML | PDF
Preview feature:
Pattern Matching for switch
Preview feature:
Record Patterns
The Java Virtual Machine Specification, Java SE 19 Edition
HTML | PDF
Java SE 18
Released March 2022 as JSR 393
The Java Language Specification, Java SE 18 Edition
HTML | PDF
Preview feature:
Pattern Matching for switch
The Java Virtual Machine Specification, Java SE 18 Edition
HTML | PDF
Java SE 17
Released September 2021 as JSR 392
The Java Language Specification, Java SE 17 Edition
HTML | PDF
Preview feature:
Pattern Matching for switch
The Java Virtual Machine Specification, Java SE 17 Edition
HTML | PDF
Java SE 16
Released March 2021 as JSR 391
The Java Language Specification, Java SE 16 Edition
HTML | PDF
Preview feature:
Sealed Classes
The Java Virtual Machine Specification, Java SE 16 Edition
HTML | PDF
Preview feature:
Sealed Classes
Java SE 15
Released September 2020 as JSR 390
The Java Language Specification, Java SE 15 Edition
HTML | PDF
Preview features:
Pattern matching for instanceof,
Records,
Sealed Classes
The Java Virtual Machine Specification, Java SE 15 Edition
HTML | PDF
Preview features: Records,
Sealed Classes
Java SE 14
Released March 2020 as JSR 389
The Java Language Specification, Java SE 14 Edition
HTML | PDF
Preview features:
Pattern matching for instanceof,
Records,
Text Blocks
The Java Virtual Machine Specification, Java SE 14 Edition
HTML | PDF
Preview feature: Records
Java SE 13
Released September 2019 as JSR 388
The Java Language Specification, Java SE 13 Edition
HTML | PDF
Preview features:
Switch Expressions and
Text Blocks
The Java Virtual Machine Specification, Java SE 13 Edition
HTML | PDF
Java SE 12
Released March 2019 as JSR 386
The Java Language Specification, Java SE 12 Edition
HTML | PDF
Preview feature: Switch Expressions
The Java Virtual Machine Specification, Java SE 12 Edition
HTML | PDF
Java SE 11
Released September 2018 as JSR 384
The Java Language Specification, Java SE 11 Edition
HTML | PDF
The Java Virtual Machine Specification, Java SE 11 Edition
HTML | PDF
Java SE 10
Released March 2018 as JSR 383
The Java Language Specification, Java SE 10 Edition
HTML | PDF
The Java Virtual Machine Specification, Java SE 10 Edition
HTML | PDF
Java SE 9
Released September 2017 as JSR 379
The Java Language Specification, Java SE 9 Edition
HTML | PDF
The Java Virtual Machine Specification, Java SE 9 Edition
HTML | PDF
Java SE 8
Released March 2014 as JSR 337
The Java Language Specification, Java SE 8 Edition
HTML | PDF
The Java Virtual Machine Specification, Java SE 8 Edition
HTML | PDF
Java SE 7
Released July 2011 as JSR 336
The Java Language Specification, Java SE 7 Edition
HTML | PDF
The Java Virtual Machine Specification, Java SE 7 Edition
HTML | PDF | Update (March 2015)
Java SE 6
Released December 2006 as JSR 270
The Java Language Specification, Third Edition
HTML | PDF
The Java Virtual Machine Specification, Second Edition
HTML | Update (SE 5.0) | Update (SE 6) | Update (March 2015)