25 сентября по местному времени в США Oracle официально объявила, что Java 11 (18,9 LTS) официально выпущена и может использоваться в производственных средах!
В этой статье давайте посмотрим, что такое Java 11, что в ней особенного и стоит ли переходить на Java 11.
Что такого особенного в Java 11На официальном сайте Oracle перейдите на страницу загрузки, первая версия JDK, доступная для загрузки, была заменена на Java SE 11 (LTS), где LTS означает Long-Term-Support.
По сравнению с Java 9, выпущенной в сентябре 2017 года, и Java 10, выпущенной в марте 2018 года, самая большая разница между Java 11, выпущенной на этот раз, заключается в том, что с точки зрения долгосрочной поддержки (Long-Term-Support) Oracle заявила, что будет поддерживать Java. 9. 11 обеспечивает сильную поддержку до сентября 2026 года.
На картинке выше показан план поддержки для каждой версии JDK, опубликованной Oracle. По пути указано официальное время релиза и план поддержки Java 6 - Java 12.
Видно, что Java 9 и Java 10 не обеспечивают долгосрочную поддержку до Java 11, а последней версией, предоставляющей долгосрочную поддержку, является Java 8, которая будет поддерживаться до марта 2025 года.
новые возможностиДолгосрочная поддержка означает, что Oracle предоставит долгосрочные исправления, безопасность и другую расширенную поддержку.
Следующим выпуском с долгосрочной поддержкой станет Java 17, который выйдет в 2021 году.
Недавно выпущенная Java 11 предоставляет 17 JEP (предложений по улучшению функций JDK Enhancement Proposal) с точки зрения новых функций.
На приведенном выше рисунке показаны все новые функции, включенные в Java 11, анонсированные Oracle, среди которых несколько ключевых новых функций:
ZGC: масштабируемый сборщик мусора с низкой задержкой
ZGC — это сборщик мусора, который утверждает, что гарантирует, что время паузы каждого GC не превышает 10 мс, а по сравнению с текущей сборкой мусора по умолчанию G1 пропускная способность падает не более чем на 15%.
Epsilon: сборщик мусора, который ничего не делает
В Java 11 также добавлен довольно специальный сборщик мусора — Epsilon, который называется сборщиком «без операций» и будет обрабатывать выделение памяти без реализации какого-либо фактического механизма освобождения памяти. Другими словами, это сборщик мусора, который не занимается сборкой мусора. Этот сборщик мусора не кажется полезным, он в основном используется для тестирования производительности, проверки нагрузки на память и т. д. Epsilon GC может использоваться в качестве контрольной группы для измерения производительности других сборщиков мусора. Великий бог Мартейн сказал, что Epsilon GC может хотя бы помочь понять интерфейс GC и помочь создать более модульную JVM.
Расширенное использование var
В Java 10 была добавлена функция вывода типа локальной переменной, и var можно использовать для определения локальных переменных. Хотя многие люди критиковали эту функцию, она не влияет на постоянное улучшение ее использования в Java.В Java 11 var можно использовать как объявление локальной переменной в лямбда-выражениях.
Удалите модули Java EE и CORBA.
Еще при выпуске Java SE 9 компания Java заявила, что удалит модули Java EE и CORBA в будущих выпусках, и этот шаг, наконец, реализован в Java 11. Наконец-то избавился от модулей Java EE и CORBA.
Дальнейшее обновление HTTP-клиента
API клиента HTTP был стандартизирован в JDK 9, а затем обновлен в JDK 10 до JEP 110. В этом списке обновлений Java 11 он дополнительно обновлен JEP 321. API обеспечивает неблокирующую семантику запроса и ответа через CompleteableFutures, которую можно использовать вместе для запуска соответствующих действий. JDK 11 полностью переписал эту функцию. Теперь стало проще отслеживать поток данных между публикаторами запросов и ответов пользовательского пространства и базовым сокетом, что снижает сложность и максимизирует возможность повторного использования между HTTP/1 и HTTP/2.
Обновлять ли
В августе 2017 года исполнительный комитет JCP предложил изменить частоту выпуска релизов Java на каждые шесть месяцев.
В сентябре 2017 года была выпущена Java 9. В марте 2018 года была выпущена Java 10. В сентябре 2018 года была выпущена Java 11.
Большинство людей используют версию JDK по-прежнему Java 8 и ниже, и даже некоторые компании используют JDK 1.6 в своих производственных средах.
Итак, стоит ли компаниям и разработчикам обновлять и изучать Java 11 в производственной среде и среде разработки?
Для бизнеса
Для предприятий по-прежнему необходимо обновить версию JDK в производственной среде до Java 11. Есть две основные причины:
1. Oracle обеспечит долгосрочную поддержку Java 11, и предприятия могут уверенно использовать эту версию. А следующая версия с долгосрочной поддержкой будет выпущена через три года, а это уже давно.
2. Java 11 предоставляет некоторые хорошие функции, особенно ZGC, который является эпохальным сборщиком мусора. Преимущества здесь не повторяются. С помощью ZGC можно преодолеть узкое место производительности JVM.
для разработчиков
С точки зрения кодирования Java 11 не изменилась так сильно, как Java 8. В конце концов, Java 8 предоставляет возможности функционального программирования, что является важной причиной для многих разработчиков изучать Java 8.
Тем не менее, Java 11 не совсем без улучшений, по крайней мере, в новой версии разработчики Java могут наконец избавиться от старого HttpURLConnection. Новый HTTP API обеспечивает поддержку ведущих отраслевых стандартов, таких как HTTOP/2, и обеспечивает оптимизированный и удобный интерфейс API.
Поэтому, чтобы подвести итог, будь то для предприятий или разработчиков, необходимо обновить Java 11, по крайней мере, гораздо более необходимо, чем Java 9 и Java 10. Насчет того, насколько это необходимо, автор дает простое объяснение:
Если ваша текущая версия JDK/Java ниже, чем Java 8, сначала выполните обновление до Java 8.
Если ваша текущая версия JDK/Java выше, чем Java 7, рассмотрите возможность обновления до Java 11.
Конечно, вы можете сразу перейти с Java 6 на Java 11.
Итак, вопрос в том, какую версию JDK/Java вы сейчас используете? Готовы ли вы изучать и использовать Java 11?
Затем нажмите и удерживайте QR-код и следуйте за Холлисом.
Переадресация круга друзей - самая большая поддержка для меня.