Рубрики
Без рубрики

Java 12 выпущен: версия без кофеина без долгосрочной поддержки

Dentro de la (en mi opinión bastante абсурд) методология де ланзаменто де версий “майоров” де ла… С пометкой “ява”, испанский.

В рамках (на мой взгляд, довольно абсурдной) методологии выпуска “старших” версий платформы 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.

На официальном сайте OpenJDK для этого нового сборщика мусора//вы можете найти все детали работы и список с модификаторами его поведения.

В дополнение к Shenandoah, обычный сборщик мусора, |/G1//, имеет некоторые улучшения, в частности, теперь, если он обнаруживает, что он терпит неудачу несколько раз подряд, когда дело доходит до определения максимального времени паузы, необходимого для очистки, и//настраивает эвристика//для улучшения прогнозирования и остановки процесса, если это необходимо. Это также улучшает использование памяти, возвращая операционную систему во время простоя память стека, которая не используется . Последнее является большим улучшением, так как до сих пор он не возвращал в систему неиспользуемую память стека, если не была выполнена полная (и, следовательно, дорогостоящая) “очистка мусора”.

Другие вещи

Помимо вышесказанного, эта версия имеет 4 других небольших улучшения, которые я ссылаюсь ниже с его официальным названием, Если у вас есть интерес:

Теперь доступны версии//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”