Java Developer
16K subscribers
1.62K photos
123 videos
2 files
1.77K links
Авторский канал действующего разработчика — интересные заметки, новые технологии, библиотеки и фреймворки

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

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

Реклама на бирже: https://telega.in/c/java_tg
Download Telegram
Вопрос с собеседования

Как в Java обрабатываются одновременные изменения коллекций?

Ответ: Изменения коллекции несколькими потоками одновременно могут привести к непредсказуемым результатам или выбросу ConcurrentModificationException.

Чтобы этого избежать, применяются следующие подходы:

▶️Синхронизированные коллекции через Collections.synchronizedCollection()

▶️Многопоточные коллекции, такие как ConcurrentHashMap

▶️Явная блокировка с использованием synchronized или java.util.concurrent.locks

▶️Безопасные итерации с помощью метода remove() итератора

tags: #собеседование

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥32
👩‍💻 Эффективный подход к тестированию веб-контроллеров в Spring Boot приложениях

В статье разбираются подходы к тестированию контроллеров в Spring Boot и сложности, связанные с избыточностью @SpringBootTest и ограничениями юнит-тестов.

Предлагается оптимальный способ с использованием @WebMvcTest, который сохраняет HTTP-семантику и ускоряет выполнение тестов.

Читать статью

tags: #статья #spring

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁32🤣293
Вопрос с собеседования

Почему не стоит сравнивать объекты через оператор «==»?

Ответ: Оператор == сравнивает ссылки на объекты, а не их содержимое. Это означает, что два объекта с одинаковыми данными будут считаться неравными, если они находятся в разных областях памяти.

Для корректного сравнения содержимого объектов используется метод equals(), который может быть переопределен в классе для определения логики проверки равенства данных внутри объектов.


tags: #собеседование

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍83💯1
👩‍💻 Как получить порядковый номер элемента в enum?

Каждая константа в enum имеет свой порядковый номер, который можно получить с помощью метода ordinal(). Нумерация начинается с нуля и соответствует положению элемента в списке.

В этом примере создаётся перечисление Days с днями недели. В методе main создаются переменные для нескольких констант и выводятся их порядковые номера с помощью метода ordinal().

❤️если было полезно
😎 — если уже знал

tags: #обучение

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
49😎23👍4
Под какой буквой правильный ответ?
Anonymous Quiz
50%
A
26%
B
18%
C
7%
D
4
👩‍💻 Test-Driven Development: как полюбить модульное тестирование?

Test-Driven Development — это подход, при котором разработка начинается с написания тестов, а уже затем создаётся код, проходящий эти проверки.

В статье объясняется, как работает TDD на практике, какие у него преимущества и как применять этот подход эффективно.

Читать статью

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥43
Вайб-кодинг он такой

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
💯34👍52🤣1
Вопрос с собеседования

Почему @Transactional не работает при вызове метода внутри того же класса?

Ответ: Потому что @Transactional в Spring работает через прокси. Когда метод вызывается внутри того же класса, вызов происходит напрямую, минуя прокси-обёртку, а значит, никакие аспекты (в том числе открытие транзакции) не применяются.

Spring AOP не перехватывает вызовы методов внутри одного бина — это ограничение прокси-механизма. Чтобы аннотация сработала, метод должен вызываться другим Spring-бином или через сам прокси, а не напрямую.


tags: #собеседование

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍43
👩‍💻 RabbitMQ и Kotlin: делаем свою event-driven Jira на Spring

В статье показано, как разработать сервис управления задачами с передачей событий через RabbitMQ в архитектуре event-driven.

На примерах с кодом объясняется, как с помощью Kotlin и Spring Boot построить полноценное микросервисное приложение с асинхронной логикой.

Читать статью

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍2🔥1
Совет дня:

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣41💯11😁9👍2
Вопрос с собеседования

Что произойдёт при передаче null в Optional.of()?

Ответ: Будет выброшено NullPointerException, так как метод Optional.of() не допускает null. Для безопасного создания используется Optional.ofNullable() — он возвращает пустой Optional при null.

tags: #собеседование

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍204
👩‍💻 Полнотекстовый поиск в Java приложениях с помощью Elasticsearch

В статье рассматривается интеграция Elasticsearch в приложения на Java с использованием Spring Boot и PostgreSQL.

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

Читать статью

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51
Вопрос с собеседования

Почему String считается безопасным ключом для HashMap?

Ответ: Объекты класса String в Java неизменяемы — это значит, что после создания их значение не может быть изменено. Это важно, потому что ключ в HashMap должен оставаться стабильным: и хеш, и сравнение не должны меняться со временем.

Кроме того, String кэширует результат hashCode(), что делает доступ к элементам быстрее и стабильнее при многократном использовании. Благодаря этим свойствам String — надёжный и предсказуемый ключ для хеш-таблиц.


tags: #собеседование

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
17🔥4
💻 Быстрее пули: как найти счастье с PostgreSQL?

В статье разбирается реализация полнотекстового поиска в PostgreSQL с использованием tsvector, tsquery и GIN-индексов.

Автор показывает, как настраивать поиск, фильтровать результаты и оптимизировать запросы для повышения производительности.

Читать статью

tags: #статья #postgresql

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
11🔥1
Больше не путайте

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
😁51🤣284