Java Developer – Telegram
Java Developer
15.7K subscribers
1.86K photos
138 videos
2 files
2.08K links
Авторский канал действующего разработчика — интересные заметки, новые технологии, библиотеки и фреймворки

Сотрудничество: @bape_ads
Прайс: @bape_media

РКН: https://clck.ru/3GHfTK

Реклама на бирже: https://telega.in/c/java_tg
Download Telegram
👩‍💻 Параллельная редукция

Параллельная редукция — это процесс сокращения (редукции) коллекции элементов с использованием параллельных вычислений.

В Java для этого можно использовать параллельные потоки и функциональные интерфейсы, такие как reduce(), collect() и stream().

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

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
126💯1
Вопрос с собеседования

Что такое ThreadPoolExecutor?

Ответ: ThreadPoolExecutor — это класс, который предоставляет управление пулами потоков для выполнения асинхронных задач. Он является частью пакета java.util.concurrent, который предоставляет различные средства для работы с параллельными и асинхронными задачами.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
23💯21
👩‍💻 ExecutorService

ExecutorService — это API JDK, упрощающий запуск задач в асинхронном режиме. В общем смысле, ExecutorService автоматически предоставляет пул потоков и API для назначения задач.

Лучший вариант использования ExecutorService — обработка независимых задач, таких как транзакции или запросы по схеме «один поток для одной задачи».

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
141💯1
👩‍💻 Fail-fast поведение

Fail-fast поведение (fail-fast behavior) — принцип в программировании для быстрого обнаружения и исправления ошибок с целью предотвращения повреждения данных и неправильного поведения программы.

В Java fail-fast поведение реализуется с использованием механизмов — если в процессе выполнения программы обнаруживается нарушение, например, попытка доступа за пределы массива или передача недопустимого аргумента в метод, генерируется исключение, и выполнение программы прерывается.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
181💯1
Вопрос с собеседования

LinkedList — это односвязный, двусвязный или четырехсвязный список?

Ответ: Двусвязный: каждый элемент LinkedList хранит ссылку на предыдущий и следующий элементы.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
225💯2
👩‍💻 Comparator

Comparator — это интерфейс, который используется для реализации произвольной сортировки элементов коллекции.

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

В примере на картинке класс Main реализует интерфейс Comparator для целых чисел Integer и сортирует список чисел в обратном порядке.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
💯139🤣1
14
👩‍💻 Функциональный интерфейс

Функциональный интерфейс — это интерфейс, который определяет только один абстрактный метод.

Чтобы точно определить интерфейс как функциональный, добавлена аннотация @FunctionalInterface, работающая по принципу @Override. Она обозначит замысел и не даст определить второй абстрактный метод в интерфейсе.

Интерфейс может включать сколько угодно default методов и при этом оставаться функциональным, потому что default методы — не абстрактные.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
💯532
Вопрос с собеседования

Что такое Dependency Injection?

Ответ: Dependency Injection (внедрение зависимости) — это набор паттернов и принципов разработки ПО, которые позволяют писать слабосвязный код. В полном соответствии с принципом единой обязанности объект отдаёт заботу о построении требуемых ему зависимостей внешнему, специально предназначенному для этого общему механизму.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
205💯4🤣1
👩‍💻 Для чего нужны функциональные интерфейсы Predicate<T>, DoublePredicate, IntPredicate и LongPredicate?

Predicate<T> (предикат) — интерфейс, с помощью которого реализуется функция, получающая на вход экземпляр класса T и возвращающая на выходе значение типа boolean.

Интерфейс содержит различные методы по умолчанию, позволяющие строить сложные условия (and, or, negate).

DoublePredicate — предикат, получающий на вход Double;

IntPredicate — предикат, получающий на вход Integer;

LongPredicate — предикат, получающий на вход Long.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
106💯1
В каком классе или интерфейсе реализованы методы wait(), notify(), notifyAll()?
Anonymous Quiz
44%
Object
21%
Runnable
30%
Thread
6%
Ни в каком из вышеперечисленных
6
📌 Задача с LeetCode №1926

Дана матрица m x n, представляющая собой лабиринт с пустыми ячейками ('.') и стенами ('+').

Появившись по адресу entrance, необходимо найти самый короткий путь до выхода и вернуть количество шагов. Двигаться можно только вверх, вниз, влево и вправо. Выходом является пустая ячейка на границе лабиринта, однако, если мы появляемся уже на границе, то выходом это место не считается.

Алгоритм использует поиск в ширину (BFS) для нахождения минимального расстояния от входа до выхода. Он итеративно обходит соседние клетки, добавляет их в очередь и отмечает посещенные клетки. Как только находится выход, он возвращает минимальное количество шагов. (Подробный разбор кода в чате)

Эта задача на YouTube — КЛИК
Эта задача на LeetCode — КЛИК

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣7173
Вопрос с собеседования

Что такое «интеграционное тестирование»?

Ответ: Интеграционное тестирование — это тестирование, проверяющие работоспособность двух или более модулей системы в совокупности, т.е. нескольких объектов как единого блока.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
222
👩‍💻 Ускоряем запуск Spring Boot-приложений в контейнере

Знали ли вы, что Spring Boot-приложение в контейнере может запускаться за миллисекунды?

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

Ссылка на статью КЛИК

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
123💯1
103
Что выведет код сверху?
Anonymous Quiz
37%
0
14%
1
3%
2
46%
Ошибка компиляции
👩‍💻 Lombok: хорошее и плохое применение

Lombok — по-настоящему хороший инструмент, который помогает писать меньше кода и больше сосредотачиваться на реальной работе.

Суть в том, как вы используете Lombok в проекте: есть как хорошие, так и плохие способы использования.

Ссылка на статью — КЛИК

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
181💯1
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣536💯5