Class.isHidden() проверяет, является ли класс скрытым — то есть загруженным как временный или внутренний, без явного имени в classpath. Это полезно при работе с динамической генерацией байткода, шейпингом JIT-классов и JVM-инструментами.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Пояснение
Статический блок выполняется один раз при первом обращении к классу.
Блок инициализации экземпляра {} выполняется перед каждым вызовом конструктора, при создании объекта. Поэтому: один static, два instance, два constructor.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
👍12
public поляВ Java открытие полей класса как
public — плохая практика. Это нарушает инкапсуляцию и делает объект уязвимым к неконтролируемым изменениям извне.private поля и getter/setter-методы для доступа и контроля над значениями.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Class.isSynthetic() возвращает true, если класс был создан компилятором и не существует в исходном коде напрямую. Это полезно для анализа байткода, фреймворков и генераторов кода, особенно при работе с лямбдами, вложенными классами и bridge-методамиJava Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤🔥1
Строковые шаблоны (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
👍8🔥4
System.identityHashCode() возвращает хеш-код объекта, основанный на его реальном адресе в памяти, независимо от переопределения hashCode(). Это полезно для диагностики, дебага, трекинга объектов и работы с объектами, у которых переопределён hashCode() нестандартным образомJava Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Integer.rotateLeft() выполняет циклический сдвиг битов числа влево. Это полезно для создания быстрых хеш-функций, криптографии и некоторых алгоритмов работы с битамиJava Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Class.getPermittedSubclasses() возвращает список всех классов, которым разрешено наследовать sealed-класс. Это полезно для анализа и валидации иерархий sealed-типов во время выполнения, особенно в плагин-системах и фреймворках.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Пояснение
a == b — false, потому что b — новый объект в куче.
a == c — true, потому что строковые литералы из пула строк указывают на один объект.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
👍6
Java 10 ввела полезную возможность создания неизменяемых копий коллекций с помощью новых методов copyOf.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🤔2
Java предоставляет множество возможностей для оптимизации производительности приложений.
java -XX:+UseG1GC G1GCExample
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥1
Этот код настраивает HTTP-прокси для Java-приложения, устанавливая адрес, порт, имя пользователя и пароль прокси-сервера.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10😱1
Метод
of() обеспечивает компактный способ создания неизменяемых коллекций.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
В Java часто приходится сталкиваться с проблемой, когда метод возвращает
null, что может привести к NullPointerException. Чтобы избежать таких ситуаций, можно использовать класс Optional.null.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
Часто возникает необходимость объединять несколько строк в одну, используя определенный разделитель.
StringBuilder. С появлением метода String.join, эта задача стала намного проще и лаконичнее.Использование метода String.join значительно упрощает задачу объединения строк с разделителем, делая код более читаемым и сокращая количество кода, которое нужно написать и поддерживать.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥1
Records — это новый тип классов в Java, который значительно упрощает создание классов, предназначенных для хранения неизменяемых данных.
equals(), hashCode() и toString(), что делает код более чистым и менее многословным.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8😁1😢1
Sealed classes позволяют разработчикам ограничивать, какие классы могут наследоваться от конкретного класса или реализовывать интерфейс.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
В Java 14 был представлен Pattern Matching для оператора instanceof. Эта возможность упрощает и делает более читабельным код, который проверяет типы объектов и затем приводит их к этим типам.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🎄1
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤🔥1