Java Developer
15K subscribers
2.09K photos
162 videos
13 files
2.4K links
Авторский канал действующего разработчика — интересные заметки, новые технологии, библиотеки и фреймворки

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

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

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

Как работает паттерн Observer?

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

Главный объект (Subject) не знает деталей обработки событий — он просто сообщает всем подписчикам о произошедшем изменении.


Такой подход уменьшает связанность кода и широко применяется в событийных системах.

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

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍92🔥2
👩‍💻 Record вместо обычного POJO

Раньше, чтобы сделать простой класс-носитель данных, приходилось писать десятки строк boilerplate-кода: конструктор, геттеры, equals(), hashCode(), toString().

Начиная с Java 14 всё это можно заменить одной строкой — идеально подходит для DTO, объектов-значений и коротких структур данных, где не нужна сложная логика.

tags: #обучение

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍105🔥1🤣1
Вопрос с собеседования

Какие поля не сериализуются через Serializable?

Ответ: Не сериализуются поля, помеченные ключевым словом transient, а также статические (static) поля, поскольку они не относятся к состоянию объекта.

Кроме того, если объект содержит поле с несериализуемым типом, при сериализации будет выброшено NotSerializableException.


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

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍101🔥1
👩‍💻 Изучаем паттерны проектирования на практике

Java Design Patterns — это большая коллекция шаблонов проектирования с готовыми реализациями на Java.

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

Ссылка на репозиторий

tags: #полезное

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43🔥1
👩‍💻 Что нового в JDK 27, Spring Boot 4.1 и Hibernate 8.0

Нашли статью, где разработчики собрали самые важные новости экосистемы Java в одной месте.

Обзор JDK 27, Spring Boot 4.1, Hibernate 8.0, а также полезные материалы по производительности, миграции проектов и современным практикам разработки.

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

tags: #статья

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥21
👩‍💻 Годный репозиторий для знакомства с MCP

Если изучаете Model Context Protocol (MCP) или хотите написать собственного AI-агента, этот репозиторий стоит сохранить.

Внутри:
‼️ Официальные реализации MCP-серверов на Java и Kotlin;
‼️ Готовые примеры для создания собственных инструментов и интеграций;
‼️ Серверы от разработчиков платформ и участников сообщества.


Ссылка на репозиторий

tags: #полезное

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍4🔥1🤯1
👩‍💻 Разбираемся с аутентификацией в Spring Security

Если хотите разобраться, как устроена аутентификация в REST-приложениях на Spring, сохраняйте эту статью.

Автор показывает, как реализовать авторизацию через JWT, безопасно хранить пароли с помощью PasswordEncoder и защитить API средствами Spring Security.

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

tags: #статья

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍64🤯3
Вопрос с собеседования

Чем бин (Bean) отличается от обычного объекта?

Ответ: Бин — это объект, которым управляет Spring-контейнер. В отличие от объекта, созданного через new, он поддерживает внедрение зависимостей (DI), управление жизненным циклом, AOP и различные области видимости (scope).

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


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

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53🤯1
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 Лайфхак для пользователей VS Code

Нашли расширение, которое избавит от вечного поиска нужной строки.

Highlight Row позволяет подсветить любую строку в редакторе и оставить её заметной. Особенно выручает при работе с логами, длинными конфигами и во время ревью кода.

Ссылка на расширение

tags: #полезное

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

Зачем нужен native SQL в Spring Data JPA?

Ответ: Если JPQL не справляется с задачей, на помощь приходит native SQL.

Он позволяет использовать возможности конкретной базы данных, писать сложные запросы и гибко управлять их выполнением. Правда, за это приходится платить меньшей переносимостью между СУБД.


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

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍72🔥2
👩‍💻 Почему Reflection замедляет Java-код?

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

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

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

tags: #статья

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

Можно ли создать два Singleton-бина в Spring?

Ответ: Да, если у бинов разные идентификаторы.

Spring позволяет зарегистрировать несколько singleton-бинов одного типа, если каждый из них имеет собственное имя. Полезно знать при работе с конфигурацией и dependency injection.

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

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62🔥1🤩1
💻 Управляем бэкапами баз данных через веб-интерфейс

Databasement — self-hosted инструмент, который помогает централизованно создавать, хранить и контролировать резервные копии баз данных.

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

Ссылка на инструмент

tags: #полезное

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍711🔥1🤯1
👩‍💻 Как написать AI-прокси на Java

Нашли подробный разбор создания собственного AI-прокси на Spring WebFlux, который объединяет Gemini, OpenAI и Anthropic через единую точку входа.

Внутри:
🫡 прозрачное проксирование запросов;
🫡 работа без хранения API-ключей на сервере;
🫡 динамическое подключение новых AI-провайдеров;
🫡 деплой в Docker и Render;
🫡 настройка стриминга и базовой защиты.


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

tags: #статья

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍2🔥2🤩1
👩‍💻 Как безопасно работать с heap-дампами в Java

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

В статье показывают, как с помощью JVMTI автоматически обфусцировать такую информацию перед созданием дампа.

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

tags: #статья

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍3🤩1
👩‍💻 Используем Optional.orElseThrow() вместо orElse(null)

orElse(null) откладывает NPE до места использования — искать причину придётся по всему стектрейсу.

orElseThrow()
останавливает выполнение сразу в точке проблемы, с понятным исключением.

tags: #обучение

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍6🔥4🤯1
👩‍💻 Деплоим Spring Boot в Kubernetes

В этой статье разбирают весь путь: Dockerfile, CI/CD, Deployment-манифесты, health checks, настройку JVM-ресурсов и graceful shutdown.

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

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

tags: #статья

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍21🔥1
👩‍💻 Новая PDF-библиотека для Java

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

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

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

tags: #статья

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍5🔥2
👩‍💻 Шпаргалка по аннотациям Spring Boot

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

Внутри найдете:
— Core-аннотации;
— Внедрение зависимостей;
— Spring MVC;
— JPA;
— Security, Validation, Caching, Testing и многое другое.


tags: #полезное

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥64
Back to Back — бэкенд-конференция Яндекса от инженеров для инженеров
1 августа | Москва, Белград, Ереван

Если вы разрабатываете бэкенд на Java Go, Python, C++, Rust или любом другом стеке — присоединяйтесь. Обсудим темы, которые актуальны всем вне зависимости от языка. В Москве пройдут сразу два трека: C++ Zero Cost и Architecture & Performance.

Антон Пионтковский (Yandex Cloud) расскажет, как считать range-предикаты с помощью битовых масок и как комбинировать их между колонками, Антон Полухин (Яндекс) поделится новостями со встречи международного комитета C++, а Савва Лебедев (Positive Technologies) покажет, как команда добавляет поддержку языка программирования LuaJIT в eBPF-профилировщик Perforator.

Если планируете посетить конференцию в Москве, вас ждут экспертные сессии с разбором карьерных и личных запросов и выступление питерской группы «Научно-технический рэп».

Подробности и регистрация
1
Вопрос с собеседования

Чем отличается настройка Heap и Stack?

Ответ: Heap и Stack решают разные задачи, поэтому и настраиваются по-разному.

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

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

📱 Java Developer | 📲 MAX
Please open Telegram to view this post
VIEW IN TELEGRAM
16👍5🔥1👻1