logo

Java 8 проти Java 11

Java 11 стала загальнодоступною на ринку 25 вересня 2018 року. Це еталонна реалізація платформи Java SE версії 11 з відкритим кодом. Java 11 було випущено через чотири роки після випуску Java 8.

У 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.

  1. У Java 11 припинено підтримку плагінів браузера Java, через що API аплетів застаріло.
    Примітка: він лише амортизований, ще не знятий.
  2. CMS, тобто Concurrent Mark Sweep Garbage Collector, застаріла та зараз не підтримується. Причиною його видалення є зменшення навантаження на обслуговування бази GCC.
  3. У зв’язку зі швидкими змінами API ECMAScript його було видалено у зв’язку з обсягом обслуговування механізму Nashorn JavaScript.
  4. У Java 9 покращено схему стиснення, і після цього вдосконалення інструменти та API Pack200 були видалені.
  5. Модуль Java EE видалено через збіг із специфікацією платформи Java EE.
  6. Модуль 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().