Какой оператор используете для XOR по boolean?
Anonymous Poll
40%
x ^ y
23%
x != y
36%
Никогда не задумывался
Ну что, как вам реклама в Телеграме? Спасибо хоть, что не казино Три Топора 🤣
Как подросла производительность сборщиков мусора с JDK 8 по JDK 17. Увеличилась пропускная способность, уменьшились паузы и уменьшилось потребление памяти (кроме ZGC). Поэтому, если вы тупо перейдёте на Java 17, даже без перекомпиляции, то автоматом всё станет быстрее.
Ссылка.
Ссылка.
В Java 18 появился коммит, который убирает неявную ссылку из анонимного класса в соответствующий внешний класс, если внутренний класс его не использует. Это то, из-за чего раньше настоятельно рекомендовалось использовать лямбды вместо анонимных классов, потому что в лямбдах как раз эти ненужные ссылки не добавляются и объекты внешних классов очищаются вовремя. Теперь же анонимные классы и лямбды будут вести себя одинаково в этом плане. Правда пишут, что это изменение сломало некие тесты в JCK, но это пообещали исследовать и возможно коммит откатывать не придётся.
#java18
#java18
Что вы используете в продакшене? (для тех, кто всё ещё на Java 8, проголосуйте за 4-й вариант)
Final Results
48%
Готовый JDK
18%
Готовый JRE
1%
Собираем свой образ через jlink с нужными модулями
33%
Мы всё ещё на Java 8 (или старее)
YouTube-канал Java преодолел планку в 100 тысяч подписчиков. А вы подписаны?
microJUG
В Java 18 появился коммит, который убирает неявную ссылку из анонимного класса в соответствующий внешний класс, если внутренний класс его не использует. Это то, из-за чего раньше настоятельно рекомендовалось использовать лямбды вместо анонимных классов, потому…
Выбрасывание неявной ссылки на внешний класс уже попало в последнюю сборку JDK 18-ea+26. Откатывать, слава богу, ничего не будут. Я проверил, this$0 действительно исчезает, если анонимный класс не использует ссылку. Но есть один нюанс: если класс является Serializable и нету поля serialVersionUID, то ссылка остаётся :(. Например, в таком анонимном классе this$0 будет всё равно присутствовать:
Так что новая оптимизация вылечит далеко не все случаи. А любителям double brace initialization придётся писать вот так, чтобы избежать ссылки:
new ArrayList<>() {
...
}
Сериализуемых классов в JDK весьма много. Например, практически все коллекции.Так что новая оптимизация вылечит далеко не все случаи. А любителям double brace initialization придётся писать вот так, чтобы избежать ссылки:
var list = new ArrayList<>() {public static final long serialVersionUID = 1L;{
add(1); }};
#java18👍1
"Java не столь популярна у современных разработчиков"
Всё, пацаны, расходимся 🤷♂️
https://zona.media/news/2021/12/11/log4fun
Всё, пацаны, расходимся 🤷♂️
https://zona.media/news/2021/12/11/log4fun
Медиазона
Уязвимость в распространенной библиотеке Log4j для Java поставила под угрозу безопасность крупнейших сервисов и приложений
Уязвимость в широко используемой библиотеке логирования Apache Log4j для программной платформы Java поставила под угроз...
👍1🔥1
Ну что, тестируем реакции в Телеге. Го в комменты 👇
А ещё тестимспойлеры
А ещё тестим
👍25🔥5😱4🎉3🤮3