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

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

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

Реклама на бирже: https://telega.in/c/java_tg
Download Telegram
Что выведет код сверху?
Anonymous Quiz
50%
0
5%
1
6%
2
27%
null
12%
ArrayIndexOutOfBoundsException
143
👩‍💻 Изоляция в тестах с Kafka

Опыт запуска Kafka в тестовых сценариях достиг высокого уровня удобства благодаря использованию Testcontainers и улучшенной поддержке в Spring Boot 3.1 с помощью аннотации @ServiceConnection. Однако написание и поддержка интеграционных тестов с Kafka по-прежнему представляют собой вызов.

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

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

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

Что можете рассказать про Form Binding?

Ответ: Нам это может понадобиться, если мы, например, захотим взять некоторое значение с HTML страницы и сохранить его в БД. Для этого нам надо это значение переместить в контроллер Spring. Если мы будем использовать Spring MVC form tags, Spring автоматически свяжет переменные на HTML странице с бином Spring.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
54😁1
⌨️ Метод before()

before() — метод в Java, который используется для сравнения порядка двух объектов типа Date. Он позволяет проверить, идет ли одна дата перед другой.

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

Как
поведёт себя уже инстанциированный итератор для collection, если вызвать collection.remove()?

Ответ: При следующем вызове методов итератора будет выброшено ConcurrentModificationException.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
9💯2
⌨️ NavigableSet

NavigableSet — это интерфейс, который расширяет интерфейс SortedSet и добавляет навигационные методы для поиска элементов в отсортированном множестве.

Основное применение NavigableSet — это реализация структур данных, где важен упорядоченный доступ к элементам, таким как:

Деревья (Red-Black, AVL и др.);

Приоритетные очереди;

Сортированные словари.

Основные реализации в Java — TreeSet и ConcurrentSkipListSet.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
134😁1💯1
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣66💯31😁1
Что выведет код сверху?
Anonymous Quiz
9%
11, 13, 15
9%
14
26%
10, 12, 14
15%
12, 14
42%
10, 14
11😁5💯4
👩‍💻 Spring Cloud Config и Git. Хранение и распространение конфигураций приложений

В данной статье я хочу поделиться с вами своим подходом к конфигурации Spring Boot приложений в облаке, где файлы конфигураций приложений находятся в Git репозитории, и который я применяю в работе и считаю одним из самых простых, удобных и легко поддерживаемых.

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

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

Какая роль поля serialVersionUID в сериализации?

Ответ: serialVersionUID используется для указания версии сериализованных данных. Когда мы не объявляем serialVersionUID в нашем классе явно, среда выполнения Java делает это за нас, но этот процесс чувствителен ко многим метаданным класса включая количество полей, тип полей, модификаторы доступа полей, интерфейсов, которые реализованы в классе и пр.

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

Какой символ является разделителем при указании пути в файловой системе?

Ответ: Для различных операционных систем символ разделителя различается. Для Windows это "\", для Linux — "/". В Java получить разделитель для текущей операционной системы можно через обращение к статическому полю File.separator.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
14🤣10
👩‍💻 Генерация уникального идентификатора

Данный код позволяет сгенерировать случайный уникальный идентификатор с помощью класса java.util.UUID.

Для удаления знака тире "-" из уникального идентификатора воспользуемся методом replace():
String uuidString = uuid.toString().replace("-", "");
System.out.println("UUID: " + uuidString);

// 9406e1f964a6418785e6fc914182859b


➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
174
👩‍💻 Динамическое создание слушателей в Kafka

Эта статья обьясняет, как создать слушатель в Kafka на лету в процессе работы приложения.

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

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

Почему нельзя использовать byte[] в качестве ключа в HashMap?

Ответ: Хэш-код массива не зависит от хранимых в нем элементов, а присваивается при создании массива. Также у массивов не переопределен equals и выполняется сравнение указателей. Это приводит к тому, что обратиться к сохраненному с ключом-массивом элементу не получится при использовании другого массива такого же размера и с такими же элементами, доступ можно осуществить лишь в одном случае — при использовании той же самой ссылки на массив, что использовалась для сохранения элемента.

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

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

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

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
16💯3😁2
⌨️ Spring Data JPA

Spring Data JPA — это модуль Spring Data, который использует JPA для хранения данных в реляционной базе данных. Особенностью этого модуля является автоматическое создание реализаций репозиториев из интерфейсов.

В примере мы создаем интерфейс UserRepository, который расширяет JpaRepository. Это позволяет использовать готовые методы для работы с базой данных, такие как save, findAll, delete и др. Также в UserRepository мы добавляем собственный метод findByUsername для поиска пользователя по его имени.

Сервис UserService использует UserRepository и может использоваться в контроллере для обработки запросов от клиента и возвращения данных из базы данных.

Результатом работы этого кода будет возможность поиска пользователя по его имени в базе данных с помощью метода findByUsername из репозитория UserRepository.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
108💯3😁1