Java Learning
16.6K subscribers
1.64K photos
1 video
3 files
1.02K links
№ 5079899194

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

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

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

Реклама на бирже - https://telega.in/c/Java_per_month
Download Telegram
➡️ Использование метода Stream.takeWhile() для фильтрации данных

Stream.takeWhile() — это метод, который появился в Java 9 и позволяет получать элементы потока до тех пор, пока выполняется заданное условие. Как только условие перестаёт выполняться, поток завершает свою работу, и оставшиеся элементы не проверяются.

• takeWhile() полезен для работы с отсортированными данными, где нужно выбрать элементы, соответствующие определённому критерию, до первого неподходящего элемента.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤‍🔥1
#вопросы_с_собеседований
🤔 Что будет, если в static блоке кода возникнет исключение?

Если в static блоке кода возникнет исключение, то это приведет к ошибке инициализации класса.
Static блок выполняется при загрузке класса, и любые исключения в нем приведут к сбою и невозможности загрузить класс.

Поэтому нужно либо обрабатывать исключения в static блоке, либо избегать кода, который может привести к исключениям.
Лучше выносить в static блок только простую инициализацию, а сложную логику помещать в конструктор или методы класса.


Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Метод isDaemon()

Метод isDaemon() используется для определения, является ли поток демоном или нет.

Демон (daemon) — это поток, который работает в фоновом режиме и не препятствует завершению программы. Основная программа может завершиться, даже если демон все еще выполняется.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤‍🔥1
⚙️ Files.move()

В Java метод Files.move() из пакета java.nio.file используется для переименования или перемещения файла/директории. Он является мощным инструментом для работы с файловой системой.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
➡️ Использование Chronicle Map для распределенных ключ-значение хранилищ

Chronicle Map — это мощный инструмент для создания распределенных хранилищ "ключ-значение" с высокой производительностью. Поддерживает работу с большими объемами данных в реальном времени и отлично подходит для высоконагруженных систем.

Поддерживает распределенные хранилища.
Минимальная задержка, высокая производительность.
Идеальна для финансовых и IoT-приложений.

🔗 Ссылочка на доку

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥1👍1
Вопрос на собеседовании

Что такое функциональный интерфейс в Java, и как он используется в лямбда-выражениях?

Ответ ⬇️
Функциональный интерфейс в Java — это интерфейс с единственным абстрактным методом, который может использоваться как целевая конструкция для лямбда-выражений и ссылок на методы. Они помогают писать более чистый и выразительный код, позволяя передавать поведение (функции) как параметры. Аннотация @FunctionalInterface проверяет, что интерфейс соответствует требованиям функционального интерфейса и помогает избежать случайного добавления методов.

Пример использования ⚙️
@FunctionalInterface
interface MyFunctionalInterface {
void printMessage(String message);
}

public class Main {
public static void main(String[] args) {
MyFunctionalInterface printer = message -> System.out.println("Сообщение: " + message);
printer.printMessage("Привет, мир!"); // Сообщение: Привет, мир!
}
}


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

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

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

RefactorFirst — это инструмент для Java-кода, помогающий определить и расставить по приоритетам классы, которые следует рефакторить в первую очередь. Он работает, сканируя код на наличие «божественных классов» (God Classes) и классов с высокой степенью связности.

«Божественных классов» — это классы, которые делают слишком много и, следовательно, являются плохо спроектированными. Они могут быть трудными для понимания, тестирования и сопровождения.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤‍🔥1
⚙️ Stream.collect() с Collector.of()

В Java метод Collector.of() позволяет создавать пользовательские коллекции с кастомной логикой для сборки данных. Это даёт полный контроль над процессом объединения элементов.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤‍🔥1
⚙️ Collectors.toMap()

В Java метод Collectors.toMap() собирает элементы потока в карту (Map), где вы можете указать функции для ключей и значений. Это удобно для преобразования коллекций в структуру ключ-значение.

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

В Java метод String.replaceAll() заменяет все вхождения текста, соответствующего регулярному выражению, на заданную строку. Это мощный инструмент для обработки строк.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥1
#вопросы_с_собеседований
Что будет, если в Map положить два значения с одинаковым ключом?

Если в Map положить два значения с одинаковым ключом, то произойдет следующее:

— При добавлении второго значения с уже существующим ключом, первое значение, связанное с этим ключом, будет перезаписано.

Map может содержать только уникальные ключи. При попытке добавить дублирующийся ключ, старое связанное значение будет заменено новым.

— Конкретная реализация Map (например, HashMap) может бросить исключение, если попытаться добавить дублирующийся ключ.

Таким образом, поведение в такой ситуации зависит от конкретной реализации интерфейса Map, но в целом дублирующиеся ключи в Map запрещены.


Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5😢5🎄1
Вопрос на собеседовании

Что такое ConcurrentHashMap в Java, как он работает и чем отличается от HashMap в многопоточной среде?

Ответ ⬇️
ConcurrentHashMap — это потокобезопасная версия HashMap, предназначенная для использования в многопоточной среде. В отличие от HashMap, который не является потокобезопасным и может приводить к состояниям гонки, ConcurrentHashMap позволяет нескольким потокам одновременно читать и изменять карту без блокировок всей коллекции. Он достигает этого за счёт сегментации и блокировок на уровне сегментов, а не всей структуры.

Пример использования ⚙️
import java.util.concurrent.ConcurrentHashMap;

public class Main {
public static void main(String[] args) {
ConcurrentHashMap<String, Integer> map = new ConcurrentHashMap<>();

map.put("Alice", 1);
map.put("Bob", 2);

map.computeIfPresent("Alice", (key, val) -> val + 1);

System.out.println(map); // {Alice=2, Bob=2}
}
}


Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
🔴 Завтра тестовое собеседование с Java-разработчиком

15 июля(уже завтра!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Java-разработчика.

Как это будет:
📂 Сергей Чамкин, старший разработчик из Uzum, ex-WildBerries, будет задавать реальные вопросы и задачи разработчику-добровольцу
📂 Cергей будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью
📂 В конце можно будет задать любой вопрос Сергею

Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Java-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.

Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_sh_bot

Реклама.
О рекламодателе.
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Files.mismatch()

Метод Files.mismatch(), добавленный в Java 12, позволяет сравнить два файла и найти позицию первого несовпадающего байта. Если файлы идентичны, метод возвращает -1. Это полезно для проверки целостности данных или сравнения файлов.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
🔴 Завтра тестовое собеседование с Java-разработчиком

5 августа(уже завтра!) в 19:00 по мск
приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Java-разработчика.

Как это будет:
📂 Сергей Чамкин, старший разработчик из Uzum, ex-WildBerries, будет задавать реальные вопросы и задачи разработчику-добровольцу
📂 Cергей будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью
📂 В конце можно будет задать любой вопрос Сергею

Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Java-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.

Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_sh_bot

Реклама.
О рекламодателе.
⚙️ Collectors.joining()

В Java метод Collectors.joining() из пакета java.util.stream позволяет объединить элементы потока в одну строку с опциональным разделителем, префиксом и суффиксом. Это удобно для создания строковых представлений коллекций.

Java Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Онлайн-магистратура для разработчиков

ИТМО и Яндекс Практикум завершают набор на онлайн-магистратуру «Фронтенд-, бэкенд-разработка и ИИ-решения». Программа рассчитана на два года, занятия проходят по вечерам, поэтому учебу можно совмещать с работой.

Можно выбрать траекторию под свой уровень и задачи. Всего девять треков:

• четыре базовых – Java, Python, C++ и JavaScript;
• пять продвинутых – с асинхронностью, микросервисами, высоконагруженными системами, Kafka, Spring Boot, NestJS и C++/Boost.

Есть и отдельный трек по ИИ: проектирование LLM-систем, RAG-пайплайны, мультиагентные сети и внедрение AI-компонентов в продакшен. На остальных направлениях тоже учат использовать нейросети для генерации кода, тестов и документации, дебаггинга и других задач.

За время обучения можно собрать 10+ кейсов в портфолио на основе реальных задач партнеров и сервисов Яндекса. После выпуска сразу два диплома – магистра ИТМО и о профессиональной переподготовке от Яндекс Практикума.

Подать документы можно онлайн и пройти отбор через рекомендательное письмо для выпускников курсов Практикума или вступительные экзамены. 

Успеть подать заявку