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 на Applet е отхвърлен.
    Забележка: само е амортизирана, все още не е премахната.
  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. Инструментът appletviewer не е наличен в 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().