Java 11 стала загальнодоступною на ринку 25 вересня 2018 року. Це еталонна реалізація платформи Java SE версії 11 з відкритим кодом. Java 11 було випущено через чотири роки після випуску Java 8.
У Java 11 є нові функції, які забезпечують більше можливостей. Нижче наведено функції, додані протягом чотирьох з половиною років між цими двома версіями.
Модульність
The Модульність Ця функція недоступна в Java 8. Це одна з найбільших змін, які були додані в Java 9. Використовуючи модульність, ми можемо розділяти наші програми або програми на різні модулі. Модульність дозволяє нам легко тестувати нашу програму, а також керувати доступом до того, які частини нашого коду є загальнодоступними. Ми можемо скомпілювати наш код без компіляції файлу, просто помістивши його в модуль без імені. Він поводиться так само, як код компіляції Java 8.
--випуск прапора
Це дуже проста комбінація - цільовий і - джерело що дозволяє нам -bootclasspath для компіляції у старій версії. The - випуск 8 це приклад, який нам потрібно скомпілювати на рівні Java 8.
Випуски кількох банок
Це одна з функцій, доданих у Java 11. Мультибаночка надає спосіб закріпити код за допомогою найновіших функцій Java 11, зберігаючи підтримку та функціональність для клієнтів Java 8.
Ключове слово Var
У Java 10 ключове слово var був представлений, який покращився в Java 11. Ключове слово var є зручним для розробників ключовим словом, яке допомагає нам зменшити шаблонне кодування. Тип зараження запобігає повторенню того самого тексту знову і знову, впливаючи лише на локальні змінні.
Схема рядка версії
Це ще одна зміна між Java 8 і Java 11, яка визначає, як слід форматувати рядки версії. Для версій представлена нова схема. Схема виглядає приблизно так:
..
Давайте зрозуміємо різницю між обома версіями Java на основі застарілих версій. Нижче наведено застарілі версії Java 8 і Java 11.
- У Java 11 припинено підтримку плагінів браузера Java, через що API аплетів застаріло.
Примітка: він лише амортизований, ще не знятий. - CMS, тобто Concurrent Mark Sweep Garbage Collector, застаріла та зараз не підтримується. Причиною його видалення є зменшення навантаження на обслуговування бази GCC.
- У зв’язку зі швидкими змінами API ECMAScript його було видалено у зв’язку з обсягом обслуговування механізму Nashorn JavaScript.
- У Java 9 покращено схему стиснення, і після цього вдосконалення інструменти та API Pack200 були видалені.
- Модуль Java EE видалено через збіг із специфікацією платформи Java EE.
- Модуль CORBA було видалено через розвиток незалежно від Java SE.
Різниця між Java 8 і Java 11
Ось такі відмінності між Java 8 і Java 11:
пан ні | Java 8 | Java 11 |
---|---|---|
1. | Інструмент appletviewer доступний у Java 8. | Інструмент перегляду аплетів недоступний у Java 11. |
2. | У Java 8 є клас AWTUtilities, який ми не рекомендуємо вам використовувати, оскільки він може зламати будь-яку залежну від нього програму. | У Java 11 клас AWTUtilities недоступний. |
3. | Він має менше рядкових методів. | Представлено кілька нових методів String, таких як isBlank(), lines(),repeat(n), stripLeading(), stripTrailing() і strip(). |
4. | Для лямбда-параметрів не використовуються спеціальні змінні. | Java 11 дозволяє нам використовувати змінні var для використання в лямбда-виразах. |
5. | Технології розгортання Java доступні в Java 8. | Технології розгортання Java видалено в Java 11. |
6. | JMC і JavaFX доступні в Oracle JDK. | JMC і JavaFX видалено з Oracle JDK у Java 11. |
7. | Немає відповідних методів для роботи з файлом. | У Java 11 є різні методи, такі як writeString(), readString() і isSameFile(), які допомагають нам виконувати декілька операцій над файлом. |
8. | Розпізнавання шаблонів неможливе. | Розпізнавання шаблонів можливо за допомогою методу asMatchPredicate(). |