В рамках (на мой взгляд, довольно абсурдной) методологии выпуска “старших” версий платформы Java каждые 6 месяцев в прошлый день 19 марта появилась версия 12 Java .
Эта версия прибывает всего через 6 месяцев после//Версии 11//, и он не считается версией с долгосрочной поддержкой (LTS), поэтому Oracle будет поддерживать его только в течение 6 месяцев.
Среди заметных вопросов этой версии есть только два, и выше они считаются экспериментальными.
Давайте посмотрим на них быстро:
Переключать выражения
“Коммутационные выражения” или//Switch Expressions//- это новая языковая функция, основанная на существующей инструкции switch на языке. Этот новый вариант позволяет нам создать более краткий способ выражения того же, что и условный, который имеет несколько ветвей. Его внешний вид этот:
int numDias = switch(mes) { case 1, 3, 5, 7, 8, 10, 12 -> 31; case 4, 6, 9, 11 -> 30; case 2 -> esBisiesto(anio) ? 29 : 28; default: throw new IllegalArgumentException("Número de mes no válido");}
В этом случае мы назначаем в переменной количество дней месяца года, которое нас интересует, используя этот новый синтаксис. Обратите внимание, что вместо типичных двоеточий ( :
) используется оператор стрелка ( :
), и вам не нужно вставлять инструкции break
в каждом случае, поэтому синтаксис очень компактен. Обратите внимание также на то, как любой тип инструкции может использоваться в каждой ветке (как в случае високосных лет за февраль), и как все возможные значения пусть они уходят. в//switch//они должны иметь ветку, которая управляет ими, даже если они генерируют ошибку, как в последнем случае в тот, кто не проводит действительный месяц.
Единственный вариант, чтобы не ставить ветку default
это если мы используем перечисление в качестве аргумента для el переключатель
. Если мы помещаем все возможные значения перечисления внутри ветвей , мы можем пропустить default
логически.
Важно отметить, что, хотя это было включено в Java 12 рассмотрим еще один//экспериментальная функция//, поэтому она не будет работать для вас по умолчанию. Вопрос о том, как выполнять функции и использовать их в рамках программ, которые требуют использования и модификации –включить предварительный просмотр против явак
компилятор Java. Так что имейте это в виду.
Шенандоа, новый сборщик мусора
Основной новинкой Java 12 является его новая система сбора мусора , которая называется Шенандоа|/. Его основным преимуществом по сравнению с существующим GC является то, что он сокращает время паузы приложений при очистке памяти (эвакуация, разметка, уплотнение…) поскольку он выполняет больше такой работы параллельно с выполнением самой программы, это также означает, что паузы программ для очистки уже они не будут напрямую связаны с размером стека. Все еще остаются работы по уборке, которые должны выполняться отдельно, но они намного меньше, и поэтому перерывы очень малы.
Шенандоа также считается экспериментальной технологией в Java 12, поэтому для того, чтобы ваша программа использовала его, вам нужно явно включить его, используя параметры -XX:+Разблокировать экспериментальные варианты -XX:+Использовать Шенандоа GC//при выполнении команды java.
В дополнение к Shenandoah, обычный сборщик мусора, |/G1//, имеет некоторые улучшения, в частности, теперь, если он обнаруживает, что он терпит неудачу несколько раз подряд, когда дело доходит до определения максимального времени паузы, необходимого для очистки, и//настраивает эвристика//для улучшения прогнозирования и остановки процесса, если это необходимо. Это также улучшает использование памяти, возвращая операционную систему во время простоя память стека, которая не используется . Последнее является большим улучшением, так как до сих пор он не возвращал в систему неиспользуемую память стека, если не была выполнена полная (и, следовательно, дорогостоящая) “очистка мусора”.
Другие вещи
Помимо вышесказанного, эта версия имеет 4 других небольших улучшения, которые я ссылаюсь ниже с его официальным названием, Если у вас есть интерес:
- JEP 230 – Набор микробенчмарков
- JEP 334 – API констант JVM
- JEP 340 – Порт Un único AArch64, А Не Два
- JEP 341 – Архивы компакт-дисков по умолчанию
Теперь доступны версии//Java 12 для OpenJDK и для официальная сборка Oracle//.
Оригинальный пост : https://www.campusmvp.es/recursos/post/java-12-lanzado-version-descafeinada-sin-soporte-a-largo-plazo.aspx
Оригинал: “https://dev.to/campusmvp/java-12-lanzado-version-descafeinada-sin-soporte-a-largo-plazo-3k3l”