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

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

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

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

Как устроен enum в Java и чем он отличается от enum в других языках?

Ответ: В Java enum — это не просто набор констант, а полноценный класс, неявно наследующий java.lang.Enum. Каждый элемент — это экземпляр этого класса.

В enum можно добавлять поля, методы и даже переопределять поведение для отдельных значений. Такие enum-классы являются final и не допускают наследования. Также их можно использовать в switch, как обычные константы.

В отличие от enum в C или C++, где это по сути просто числа, Java-энумы типобезопасны и могут вести себя как полноценные объекты с логикой и состоянием.


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

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍205🔥5
👩‍💻 Gson

Gson — это лёгкая и мощная библиотека от Google для преобразования Java-объектов в JSON и обратно.

Она часто используется при работе с REST API, конфигурациями и сериализацией сложных структур данных.

Зависимость Maven:
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.10.1</version>
</dependency>


📱 Ссылка на GitHub
📁 Ссылка на документацию

tags: #полезное

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍65
Please open Telegram to view this post
VIEW IN TELEGRAM
😁33🤣105👍1💯1
Вопрос с собеседования

Можно ли в Java создать экземпляр абстрактного класса?

Ответ: Нет, напрямую создать экземпляр абстрактного класса нельзя, поскольку он содержит не реализованные методы.

Экземпляры можно создавать от тех классов, которые наследуют абстрактный класс и реализуют все его абстрактные методы.


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

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍85🔥2
👩‍💻 CompletableFuture. Глубокое погружение

Если вы используете CompletableFuture в Java, но не до конца понимаете, как он работает, эта статья — для вас.

Автор подробно разбирает внутреннее устройство класса, включая поля result и stack, механизмы завершения, композиции, порядок выполнения зависимостей, обработку исключений и особенности методов anyOf и allOf.

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

tags: #статья

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

Можно ли переопределить private или static метод в Java?

Ответ: Нет, переопределить private и static методы нельзя, так как они не участвуют в механизме полиморфизма.

private-методы недоступны за пределами класса, поэтому при совпадении имени в подклассе создаётся совершенно новый метод, не связанный с исходным.

static-методы привязаны к классу, а не к объекту, и при наследовании могут быть скрыты, но не переопределены, поскольку их вызов определяется на этапе компиляции, а не во время выполнения.


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

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥164👍3🤯1💯1
👩‍💻 Идемпотентность: больше, чем кажется

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

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

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

tags: #статья

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

Почему строка популярна в качестве ключа в HashMap?

Ответ: Поскольку строки неизменяемы, их хэш код вычисляется и кэшируется в момент создания, не требуя повторного пересчета при дальнейшем использовании. Поэтому в качестве ключа HashMap они будут обрабатываться быстрее.

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

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
25🔥6
👩‍💻 Mockito

Mockito — это один из самых популярных фреймворков для создания моков в Java.

Он упрощает написание модульных тестов, позволяя изолировать поведение зависимостей без написания «заглушек» вручную.

Зависимость Maven:
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>5.11.0</version>
<scope>test</scope>
</dependency>


Удобен при работе с сервисами, репозиториями и внешними API: можно легко подменить реальные объекты их имитациями и проверить, как они вызываются.

📱 Ссылка на GitHub
📁 Ссылка на документацию

tags: #полезное

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
12🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁42🤣20🔥9
Что выведет код сверху?
Anonymous Quiz
19%
2
59%
4
9%
2468
9%
Ничего
5%
Ошибка
👍145💯1
👩‍💻 Первые шаги в Spring Security с JWT

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

Авторы на реальном проекте показывают, как генерировать и валидировать токены, настраивать фильтры, обрабатывать ошибки и подключать Swagger для работы с защищёнными эндпоинтами.

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

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥3
Когда наняли грамотного маркетолога

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
😁39🤣165
Вопрос с собеседования

Можно ли перегрузить метод по возвращаемому типу?

Ответ: Нет, в Java нельзя перегрузить метод, меняя только возвращаемый тип. Компилятору нужно различать методы по сигнатуре, которая включает имя и список параметров, но не тип возвращаемого значения.

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


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

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍186
👩‍💻 Архитектурные принципы Spring Security. Часть первая

Spring Security часто выглядит как сложная и непонятная система, особенно когда нужно добавить собственную проверку или изменить порядок обработки запросов.

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

Что вы узнаете из статьи:
▶️ Как устроена цепочка фильтров и в каком порядке они срабатывают?

▶️ Как добавить собственный фильтр и встроить его между существующими?

▶️ Как работает OncePerRequestFilter и почему он часто используется?

▶️ Как задать порядок фильтров, чтобы всё выполнялось в нужной последовательности?

▶️ Как использовать логи Spring Security для понимания происходящего?


Полезный материал для тех, кто хочет действительно понять, как работает система безопасности в Spring.

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

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥64👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁40💯13🤣105🤯5
Вопрос с собеседования

Как работает автоматическое приведение типов в Java?

Ответ: В Java значения меньших по размеру типов автоматически преобразуются к большему типу (например, int в long), если такое преобразование безопасно. Но для преобразования в меньший тип требуется явное указание типа вручную.

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

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍185