TGViewer
Channel Public Channel
Java Learning

Java Learning

@java_per_month

№ 5079899194

Обучающий канал по Java

Ссылка для друга - https://t.me/+ZEYYht6-46w5MDM6

По всем вопросам @mascarov_valentin

Реклама на бирже - https://telega.in/c/Java_per_month
Subscribers
16.6K
Photos
1.6K
Videos
1
Links
1K

Showing posts older than #3457 · Back to latest

Older Posts 20 shown
Post #3455 3.24K
✔️ Использовании Optional для избежания NullPointerException

В Java часто приходится сталкиваться с проблемой, когда метод возвращает null, что может привести к NullPointerException. Чтобы избежать таких ситуаций, можно использовать класс Optional.

👀 Рассмотрим пример, как использовать Optional для безопасного получения значения из метода, который может вернуть null.

Java Learning 👩‍💻
  • 👍 11
Post #3454 3.27K
💪 Мощный инструмент в одной строке: Метод of()

Метод of() обеспечивает компактный способ создания неизменяемых коллекций.

🗣️ Этот метод является удобным и эффективным инструментом для создания коллекций с набором известных элементов.

Java Learning 👩‍💻
  • 👍 10
Post #3453 3.5K
🌐 Настройка HTTP-прокси в Java

Этот код настраивает HTTP-прокси для Java-приложения, устанавливая адрес, порт, имя пользователя и пароль прокси-сервера.

✔️ Это позволяет направлять запросы через прокси для обхода ограничений или повышения безопасности.

Java Learning 👩‍💻
  • 👍 10
  • 😱 1
Post #3450 3.25K
⚙️ Оптимизация сборщика мусора с помощью -XX:+UseG1GC

Java предоставляет множество возможностей для оптимизации производительности приложений.

✔️ Одной из таких возможностей является использование современного сборщика мусора G1 (Garbage First), который улучшает работу приложений с большим объемом данных и снижает задержки.

➡️ Чтобы включить использование G1GC, необходимо добавить флаг -XX:+UseG1GC при запуске Java-приложения:

java -XX:+UseG1GC G1GCExample


Java Learning 👩‍💻
  • 👍 6
  • 🔥 1
Post #3449 3.31K
➡️ Сила коллекций: Неизменяемые коллекции в Java

Java 10 ввела полезную возможность создания неизменяемых копий коллекций с помощью новых методов copyOf.

✔️ Эти методы предоставляют простой способ создания неизменяемых представлений существующих коллекций, улучшая безопасность и надежность кода.

Java Learning 👩‍💻
  • 👍 8
  • 🤔 2
Post #3446 3.4K
⌛ Что будет выведено при выполнении кода?

Пояснение
⬇️
a == b — false, потому что b — новый объект в куче.
a == c — true, потому что строковые литералы из пула строк указывают на один объект.


Java Learning 👩‍💻
  • 👍 5
Post #3445 2.97K
⚙️ Class.getPermittedSubclasses()

Class.getPermittedSubclasses() возвращает список всех классов, которым разрешено наследовать sealed-класс. Это полезно для анализа и валидации иерархий sealed-типов во время выполнения, особенно в плагин-системах и фреймворках.

Java Learning 👩‍💻
  • 👍 5
Post #3443 3.11K
⚙️ Integer.rotateLeft()

Integer.rotateLeft() выполняет циклический сдвиг битов числа влево. Это полезно для создания быстрых хеш-функций, криптографии и некоторых алгоритмов работы с битами

Java Learning 👩‍💻
  • 👍 5
Post #3442 3.22K
⚙️ System.identityHashCode()

System.identityHashCode() возвращает хеш-код объекта, основанный на его реальном адресе в памяти, независимо от переопределения hashCode(). Это полезно для диагностики, дебага, трекинга объектов и работы с объектами, у которых переопределён hashCode() нестандартным образом

Java Learning 👩‍💻
  • 👍 8
Post #3441 3.34K
➡️ Строковые шаблоны (Preview)

Строковые шаблоны (string templates) — новая функция в режиме preview, упрощающая создание строк с вычисляемыми значениями.

🗣️ Ранее используемая в Java конкатенация приводила к сложному коду, тогда как строковая интерполяция в других языках сокращает код, но увеличивает риски безопасности.

ℹ️ Шаблонные выражения сочетают лаконичность интерполяции и высокую безопасность.

String name = "Joan";
String info = STR."My name is \{name}";
assert info.equals("My name is Joan"); // true


Выражение использует обработчик STR и встроенное выражение {name}, которое может включать строки, арифметику, методы и поля. Обработчики выполняются динамически и обеспечивают безопасность кода. Шаблоны не работают без обработчика, отвечающего за интерполяцию и валидацию.

Java Learning 👩‍💻
  • 👍 8
  • 🔥 4
Post #3439 3.08K
⚙️ Class.isSynthetic()

Class.isSynthetic() возвращает true, если класс был создан компилятором и не существует в исходном коде напрямую. Это полезно для анализа байткода, фреймворков и генераторов кода, особенно при работе с лямбдами, вложенными классами и bridge-методами

Java Learning 👩‍💻
  • 👍 5
  • ❤‍🔥 1
Post #3438 3.51K
🚫 Антипаттерн недели: Нарушение принципа инкапсуляции через public поля

В Java открытие полей класса как public — плохая практика. Это нарушает инкапсуляцию и делает объект уязвимым к неконтролируемым изменениям извне.

✔️ Используйте private поля и getter/setter-методы для доступа и контроля над значениями.

Java Learning 👩‍💻
  • 👍 10
Post #3437 3.42K
  • 👍 12
Post #3435 3.3K
⌛ Что будет выведено при выполнении кода?

Пояснение
⬇️
Статический блок выполняется один раз при первом обращении к классу.
Блок инициализации экземпляра {} выполняется перед каждым вызовом конструктора, при создании объекта. Поэтому: один static, два instance, два constructor.


Java Learning 👩‍💻
  • 👍 10
Post #3432 2.94K
⚙️ Class.isHidden()

Class.isHidden() проверяет, является ли класс скрытым — то есть загруженным как временный или внутренний, без явного имени в classpath. Это полезно при работе с динамической генерацией байткода, шейпингом JIT-классов и JVM-инструментами.

Java Learning 👩‍💻
  • 👍 6
Post #3431 3.11K
⚙️ Class.getNestMembers()

Class.getNestMembers() возвращает массив всех классов, принадлежащих одной «группе вложенности» (nest) — то есть тех, кто может делиться приватными методами и полями друг с другом. Это полезно для анализа доступа между вложенными классами и для инструментов байткод-анализа.

Java Learning 👩‍💻
  • 👍 8
Post #3430 3.26K
ClassLoader.getResources()

ClassLoader.getResources() находит все ресурсы с указанным именем в classpath и возвращает Enumeration<URL>. Это полезно для загрузки всех версий конфигурационных файлов, плагинов или ресурсов из JAR-файлов и папок одновременно

Java Learning 👩‍💻
  • 👍 11
Post #3428 3.22K
⚙️ System.gc() + System.runFinalization()

Хотя явно вызывать сборку мусора в Java не рекомендуется, комбинация System.gc() и System.runFinalization() может быть полезна в тестах, профилировании и при ручном контроле над ресурсами во время разработки

Java Learning 👩‍💻
  • 👍 9
  • ❤‍🔥 1
Post #3427 3.36K
⚙️ Pattern.asPredicate()

Pattern.asPredicate() превращает регулярное выражение в Predicate<String>, который можно использовать прямо в потоках (Stream). Это полезно для фильтрации строк без явного вызова .matches().

Java Learning 👩‍💻
  • 👍 17
  • 🔥 5
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →