![]() | Частина інформації в цій статті застаріла. |
Мова програмування Java мала декілька змін починаючи з JDK 1.0, а також багато доповнень в класах та пакетах стандартної бібліотеки. Починаючи з J2SE розвитком Java управляють Java Community Proccess (JCP), які використовують Java Specification Requests (JSRs), щоб запропоновувати та вказувати доповнення та зміни у платформі Java. Мова визначається специфікацією JLS, змінами у JLS управляють JSR 901 [Архівовано 15 червня 2020 у Wayback Machine.].
В доповнення до змін мови, найбільш драматичні зміни відбувалися у Java Class Library протягом багатьох років. Бібліотека виросла з декількох сотень класів в JDK 1.0 до більш ніж трьох тисяч в J2SE5. З'явилися нові API (Swing та Java 2D[en]), крім цього, багато класів та методів з JDK 1.0 застаріли. Деякі програми дозволяють перетворення програм на Java з однієї версії до іншої (наприклад Java 5.0 портована до 1.4).
Після релізу Java 7, Oracle пообіцяли повернутись до дворічного циклу випуску. Тим не менше, у 2013 Oracle оголосили, що вони бажають відкласти випуск Java 8 на один рік для того, щоб виправити помилки, пов'язані з безпекою Java.
Реліз | Рік |
---|---|
JDK Beta | 1995 |
JDK 1.0 | 1996 |
JDK 1.1 | 1997 |
J2SE 1.2 | 1998 |
J2SE 1.3 | 2000 |
J2SE 1.4 | 2002 |
J2SE 5.0 | 2004 |
Java SE 6 | 2006 |
Java SE 7 | 2011 |
Java SE 8 | 2014 |
Java SE 9 | 2017 |
Java SE 10 | 2018 |
Перші альфа та бета-релізи Java у 1995 мали дуже нестабільні API та ABI. Браузер, що підтримував Java, мав назву WebRunner.
Перша версія була випущена 23 січня 1996 року і називалася "дуб". Перша стабільна версія JDK 1.0.2 називалася Java 1.
Основні доповнення в релізі 19 лютого 1997 року включали:
Кодове ім'я - Playground. Реліз відбувся у грудні 1998 року. Назва версії "J2SE" (Java 2 Platform, Standard Edition) замінив JDK, щоб відрізнити базову платформу J2EE (Java 2 Platform, Enterprise Edition) і J2ME (Java 2 Platform, Micro Edition). Це був дуже важливий реліз Java, так як він втричі збільшив розмір платформи Java до 1520 класів в 59 пакетах. Головні доповнення включали:
strictfp
(ключове слово)Кодове ім'я Kestrel. Найбільш помітними змінами в релізі 8 травня 2000 року були:
Кодове ім'я Merlin. Реліз 6 лютого 2002 року. Головні зміни включали:
assert
(вказане в JSR 41)java.util.prefs
)Кодове ім'я Tiger. Реліз 30 вересня 2004 року був також пронумерований як 1.5. Ця версія була розроблена під JSR 176.
Було додано значну кількість нових можливостей:
void drawtext(String... lines)
). За допомогою цього метод може приймати будь-яку кількість параметрів.for each
: зроблений для перебору елементів колекцій, що реалізовують інтерфейс Iterable (specified by JSR 201)Також були покращення у основній бібліотеці:
java.util.concurrent
Кодове ім'я Mustang. Випущена 11 грудня 2006 року. Ця версія була розроблена під JSR 270.
Головні зміни включали:
Java 7 (кодове ім'я Dolphin) стала доступною для розробників 28 липня 2011 року.
Доповнення в Java 7 включали:
java.nio.file
,java.nio.file.attribute
and java.nio.file.spi
Java 8 була випущена 18 березня 2014 року[1].
На думку розробників мови програмування Java, 8-ма версія стала найбільшим кроком її еволюції. Порівняно невелика кількість нових засобів — лямбда вирази, посилання на методи та функційні інтерфейси разом перетворили Java на багатопарадигмову мову програмування: на додачу до об'єктно-орієнтованого з'явилися елементи функційного програмування. Разом з мовою еволюції зазнали й супутні програмні бібліотеки[2]. Так, наприклад, в API для колекцій додано підтримку Stream API, завдяки чому можуть відбуватися масові операції над колекціями[3].
Ця версія включає:[4]
Змін також зазнали
У версії не було реалізовано модульність платформи Java, проте було вжито деяких заходів для полегшення її реалізації у наступних релізах[4]. Так, з'явилися «компактні профілі» (англ. Compact Profiles), які дозволяють реалізувати роботу програм на неповних реалізаціях платформи Java[3].
На JavaOne 2011 Oracle обговорювали функції, які вони збираються додати до Java 9, серед яких були: покращення підтримки багатогігабайтних куп, краща інтеграція машинного коду та JVM, що може сама себе налаштовувати. На початку 2016 реліз було перенесено на березень 2017.
Були також плани додати автоматичне розпаралелювання, використовуючи OpenCL та реактивні потоки.
OpenJDK 10 був випущений 20 березня 2018 року, в новий випуск увійшло 12 нововведень[6]. Серед іншого:
Цей реліз став релізом з новими функціями (англ. feature release) та прийшов на заміну релізу 9. Наступний реліз з тривалою підтримкою (англ. long-term support, LTS) матиме номер 11 та очікується у вересні 2018 року[10].
Відтепер компанія планує випускати LTS реліз раз на три роки, демонстрації нових функцій (англ. feature release) кожні шість місяців, а оновлення — щокварталу. Після релізу Java 11 у вересні 2018 року наступним LTS релізом стане Java 17, випуск якої заплановано на вересень 2021 року[10].
![]() |
Це незавершена стаття про мови програмування. Ви можете допомогти проєкту, виправивши або дописавши її. |