• Стали известны первые два JEP'а, которые попадут в Java 18:
- JEP 400: UTF-8 by Default. В нём предлагается сделать UTF-8 кодировкой по умолчанию на всех платформах. Про него мы писали в выпуске #10.
- JEP 413: Code Snippets in Java API Documentation. В этом JEP предлагается ввести новый тег
@snippet
, помощью которого можно будет вставлять в javadoc примеры кода. Про него мы писали в выпуске #5.
• В IntelliJ IDEA появилась базовая поддержка Java 17. В новой версии 2021.2.1 теперь есть новый уровень языка "17 - Sealed types, always-strict floating-point semantics", а также "17 (Preview) - Pattern matching for switch", включив который, можно попробовать новую preview конструкцию языка.
• Завершились голосования за создание проектов Wakefield и CRaC. Теперь лидеры могут официально стартовать проекты.
• JUGNsk выложил видеозаписи докладов с февральской конференции SnowOne 2021.
• Вышел Micronaut 3.
• Вышел Gradle 7.2.
Полезняшки
TravaOpenJDK11 – модификация OpenJDK 11 с улучшенной возможностью переопределения загруженных классов во время выполнения. Является продолжением проекта DCEVM. Если в обычной версии HotSpot механизм hotswap позволяет изменять только тела методов, то в DCEVM можно добавлять и удалять поля и методы, не перезапуская JVM.
Modernizer Maven Plugin – плагин для Maven, который ищет в проекте использования legacy API. При нахождении таких API плагин предлагает современную альтернативу (например, java.util.Objects.equal()
вместо com.google.common.base.Objects.equal()
).
Lightweight Java Visualizer – библиотека, которая парсит Java-объект с помощью рефлексии, строит граф и визуализирует его с помощью Graphviz. Очень удобно, когда нужно быстро понять, как устроена та или иная структура данных.