Java Learning – Telegram
Java Learning
18.3K subscribers
1.62K photos
2 videos
3 files
1K links
№ 5079899194

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

Ссылка для друга - https://news.1rj.ru/str/+ZEYYht6-46w5MDM6

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

Реклама на бирже - https://telega.in/c/Java_per_month
Download Telegram
⚙️ Math.nextUp()

Math.nextUp() возвращает ближайшее большее число с плавающей запятой по сравнению с переданным значением. Это полезно для точных вычислений и численной стабильности.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥1
⚙️ String.indent()

String.indent() добавляет или удаляет отступы у каждой строки текста. Это полезно для форматирования многострочных строк.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥1
⚙️ Collections.reverse()

Collections.reverse() изменяет порядок элементов списка на обратный. Это полезно для разворота данных без создания нового списка.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
⚙️ Collections.frequency()

Collections.frequency() считает количество вхождений указанного элемента в коллекции. Метод проходит по всем элементам и сравнивает их с нужным объектом с помощью метода .equals().

Это полезно для анализа данных, подсчёта повторяющихся элементов и статистики по коллекциям.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
#вопросы_с_собеседований
Может ли метод main выбросить исключение во вне и если да, то где будет происходить обработка данного исключения?

Метод main может выбросить исключение. Это исключение будет передано в JVM (виртуальную машину Java). JVM отловит это исключение и завершит выполнение программы, выведя stack trace (трассировку стека) исключения.

Таким образом, исключение из main приведет к аварийному завершению программы.

Чтобы избежать этого, лучшей практикой является перехватывать исключения внутри main и обрабатывать их, не допуская выброса за его пределы.


Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤‍🔥1
String.join()

String.join() объединяет элементы коллекции или массива в одну строку с указанным разделителем. Это полезно для красивого вывода данных и формирования текстовых шаблонов.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍3
🚫 Антипаттерн недели: Переопределение методов без аннотации @Override

В Java, если вы переопределяете метод суперкласса, но случайно ошиблись в названии или сигнатуре — компилятор не подаст сигнала, если вы не указали @Override. В результате метод не переопределяется, а программа ведёт себя неожиданною.

✔️ Всегда используйте @Override при переопределении — это защитит от скрытых ошибок.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22
Math.abs()

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

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
Collections.disjoint()

Collections.disjoint() проверяет, не имеют ли две коллекции общих элементов. Это полезно для фильтрации, сравнения и оптимизации поиска пересечений.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥2
⚙️ Collections.nCopies()

Collections.nCopies() создаёт неизменяемый список, содержащий заданное количество копий одного и того же объекта. Это полезно для инициализации, заглушек и создания шаблонных коллекций.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤‍🔥2
⚙️ Class.getRecordComponents()

Class.getRecordComponents() возвращает информацию о компонентах записи (record). Это полезно для рефлексии, сериализации и автоматического отображения данных в Record-классах.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Что будет выведено при выполнении кода?

Пояснение
⬇️
Java кэширует объекты Integer от -128 до 127. Переменные a и b указывают на один объект из пула, поэтому a == b → true. Значение 200 вне диапазона, c и d — разные объекты → false.


Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍2
⚙️ Pattern.asPredicate()

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

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥5
⚙️ System.gc() + System.runFinalization()

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

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤‍🔥1
ClassLoader.getResources()

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

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
⚙️ Class.getNestMembers()

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

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
⚙️ Class.isHidden()

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
🚫 Антипаттерн недели: Нарушение принципа инкапсуляции через public поля

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

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

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10