Collections.disjoint()
Java Learning👩💻
Collections.disjoint()
проверяет, не имеют ли две коллекции общих элементов. Это полезно для фильтрации, сравнения и оптимизации поиска пересечений.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
Collections.nCopies()
создаёт неизменяемый список, содержащий заданное количество копий одного и того же объекта. Это полезно для инициализации, заглушек и создания шаблонных коллекций.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
Class.getRecordComponents()
возвращает информацию о компонентах записи (record). Это полезно для рефлексии, сериализации и автоматического отображения данных в Record-классах.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
Pattern.asPredicate()
превращает регулярное выражение в Predicate<String>
, который можно использовать прямо в потоках (Stream
). Это полезно для фильтрации строк без явного вызова .matches()
.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
Хотя явно вызывать сборку мусора в Java не рекомендуется, комбинация
System.gc()
и System.runFinalization()
может быть полезна в тестах, профилировании и при ручном контроле над ресурсами во время разработкиJava Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
ClassLoader.getResources()
Java Learning👩💻
ClassLoader.getResources()
находит все ресурсы с указанным именем в classpath и возвращает Enumeration<URL>
. Это полезно для загрузки всех версий конфигурационных файлов, плагинов или ресурсов из JAR-файлов и папок одновременноJava Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
Class.getNestMembers()
возвращает массив всех классов, принадлежащих одной «группе вложенности» (nest) — то есть тех, кто может делиться приватными методами и полями друг с другом. Это полезно для анализа доступа между вложенными классами и для инструментов байткод-анализа.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
Class.isHidden()
проверяет, является ли класс скрытым — то есть загруженным как временный или внутренний, без явного имени в classpath. Это полезно при работе с динамической генерацией байткода, шейпингом JIT-классов и JVM-инструментами.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
public
поляВ Java открытие полей класса как
public
— плохая практика. Это нарушает инкапсуляцию и делает объект уязвимым к неконтролируемым изменениям извне.private
поля и getter/setter
-методы для доступа и контроля над значениями.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
Class.isSynthetic()
возвращает true
, если класс был создан компилятором и не существует в исходном коде напрямую. Это полезно для анализа байткода, фреймворков и генераторов кода, особенно при работе с лямбдами, вложенными классами и bridge-методамиJava Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
Строковые шаблоны (string templates) — новая функция в режиме preview, упрощающая создание строк с вычисляемыми значениями.
String name = "Joan";
String info = STR."My name is \{name}";
assert info.equals("My name is Joan"); // true
Выражение использует обработчик
STR
и встроенное выражение {name}
, которое может включать строки, арифметику, методы и поля. Обработчики выполняются динамически и обеспечивают безопасность кода. Шаблоны не работают без обработчика, отвечающего за интерполяцию и валидацию.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
System.identityHashCode()
возвращает хеш-код объекта, основанный на его реальном адресе в памяти, независимо от переопределения hashCode()
. Это полезно для диагностики, дебага, трекинга объектов и работы с объектами, у которых переопределён hashCode()
нестандартным образомJava Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
Integer.rotateLeft()
выполняет циклический сдвиг битов числа влево. Это полезно для создания быстрых хеш-функций, криптографии и некоторых алгоритмов работы с битамиJava Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
Class.getPermittedSubclasses()
возвращает список всех классов, которым разрешено наследовать sealed-класс. Это полезно для анализа и валидации иерархий sealed-типов во время выполнения, особенно в плагин-системах и фреймворках.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM