Java — JDK 25 выйдет уже в сентябре этого года
Схема версионирования Java, Java 8 и старше
- Система версионирования Java долгое время была нетипичной по сравнению с большинством других языков и платформ.
- Раньше номера версий выглядели как "1.x", например:
1.5, 1.6. Это отражало раннюю историю развития языка.- Официальная схема именования использовала формат "Java SE x.y", где
x — мажорная версия, а y — минорная.Примеры:
- Java SE 5.0 → Java 1.5
- Java SE 6.0 → Java 1.6
- Java SE 8.0 → Java 1.8
Эта схема создавала путаницу, потому что казалось, будто Java всё ещё находится на версии 1.x, хотя фактически язык уже прошёл через множество мажорных релизов.
Схема версионирования Java, начиная с Java 9
- Начиная с Java 9, префикс
1. был официально отброшен.- Теперь версии называются просто по мажорному номеру:
Java 9 — это просто
9, Java 10 — это 10 и т. д.- Это изменение внесли, чтобы:
- устранить путаницу,
- привести систему к стандартной практике версионирования в индустрии.
- Кроме того, это отражает серьёзные архитектурные изменения, которые начались с Java 9 и продолжились в последующих версиях.
Эволюция версий Java:
Java 1.0 — 23.01.1996
🔸Первый релиз: апплеты, базовые библиотеки, core API
Java 1.1 — 19.02.1997
🔸Внутренние классы, JDBC, AWT event-модель
Java 1.2 — 08.12.1998
🔸Swing GUI, коллекции, JIT-компилятор
Java 1.3 — 08.05.2000
🔸HotSpot JVM, RMI по IIOP (CORBA)
Java 1.4 — 06.02.2002
🔸Assertions, Logging API, регулярки, улучшенная модель памяти
Java 1.5 — 30.09.2004
🔸Дженерики, аннотации, enum, цикл for-each
Java 1.6 — 11.12.2006
🔸Scripting API, аннотации, улучшения JVM и рантайма
Java 1.7 — 28.07.2011
🔸Diamond-оператор, try-with-resources, строки в switch
Java 1.8 (LTS) — 18.03.2014
🔸Лямбды, Stream API, default-методы, новый Date/Time API
Java 9 — 21.09.2017
🔸Модульная система (Project Jigsaw), HTTP Client, JShell
Java 10 — 20.03.2018
🔸var, GC интерфейс, Class-Data Sharing
Java 11 (LTS) — 25.09.2018
🔸HTTP Client, dynamic class constants, Nest-Based Access Control
Java 12 — 19.03.2019
🔸switch (preview), Teeing Collectors, компактное форматирование чисел
Java 13 — 17.09.2019
🔸Text blocks, улучшения switch, ZGC
Java 14 — 17.03.2020
🔸Pattern matching (instanceof), Records (preview), JFR streaming
Java 15 — 15.09.2020
🔸Sealed-классы, скрытые классы, удалён Nashorn
Java 16 — 16.03.2021
🔸Records, Pattern Matching, Vector API, Foreign Memory API
Java 17 (LTS) — 14.09.2021
🔸Pattern Matching for switch, Sealed-классы, Foreign Function API
Java 18 — 22.03.2022
🔸UTF-8 по умолчанию, Web Server, Code snippets в API
Java 19 — 20.09.2022
🔸Record Patterns, Virtual Threads, Structured Concurrency
Java 20 — 21.03.2023
🔸Scoped Values, Virtual Threads (prod)
Java 21 (LTS) — 19.09.2023
🔸Sequenced Collections, Record Patterns, Virtual Threads, KEM API
Java 22 — 19.03.2024
🔸Region Pinning, Foreign Function API, Unnamed Variables & Patterns
Java 23 — 17.09.2024
🔸Pattern Matching, Scoped Values, Structured Concurrency
Java 24 — 18.03.2025
🔸Stream Gatherers, Compact Object Headers
👉 Java Portal
