Java Developer
6.46K subscribers
235 photos
8 videos
12 files
279 links
MAKE JAVA GREAT AGAIN

Мемы: @java_memes
Download Telegram
Spring
При каких условиях транзакция Spring будет откатана (rollback)?
Ответ:


1. Если выброшено unchecked исключение (наследник RuntimeException или Error).

2. Если выброшено checked исключение, указанное в аннотации @Transactional с параметром rollbackFor.
@Transactional(rollbackFor = { IOException.class })

Примечание: Checked исключения (например, IOException) по умолчанию не вызывают роллбэк, поэтому их нужно явно указывать через параметр rollbackFor.
40😁4
Java Core
Чем отличается abstract class от interface?
Ответ:


1. Наследование
abstract class может extends только один класс (single inheritance), но может реализовывать несколько интерфейсов.
interface может extends несколько других интерфейсов (множественное «наследование» интерфейсов).
2. Методы
abstract class может содержать как абстрактные, так и реализованные методы. Поддерживает любые модификаторы доступа.
interface
◦ до Java 8 содержал только абстрактные методы (по умолчанию public abstract)
◦ с Java 8 появились default и static методы с реализацией
◦ с Java 9 можно объявлять private методы внутри интерфейса, чтобы переиспользовать логику в default-методах. При этом приватные методы могут существовать только внутри интерфейса, и не видны реализующим классам.
3. Конструкторы
abstract class может иметь конструкторы для инициализации общих полей у наследников, но нельзя создать объект абстрактного класса напрямую (только через конкретные подклассы).
interface не может иметь конструкторов — объект интерфейса напрямую создать нельзя.
4. Поля
abstract class может содержать поля любых типов с любыми модификаторами.
interface может содержать только public static final поля (константы).

Когда использовать:
abstract class - когда требуется общее состояние (поля) и общие методы (реализация), которые наследники могут переопределять или дополнять. Абстрактный класс может хранить поля и совместно использовать часть логики во всех наследниках.
interface - когда нужно определить «контракт» (набор методов) для различных классов, не связанных между собой по иерархии. Несмотря на появление default-методов с реализацией, в интерфейсе по-прежнему нельзя хранить состояние экземпляра. default-методы позволяют расширять интерфейс без нарушения совместимости, но не заменяют полноценного «скелета» с полями и логикой, который даёт абстрактный класс.
30
Kafka
Какие есть гарантии доставки сообщений
Ответ:


1. At most once (не более одного раза):
Сообщение может быть потеряно, но никогда не будет доставлено повторно.
2. At least once (как минимум один раз):
Сообщение доставляется минимум один раз, но возможно повторное получение.
3. Exactly once (ровно один раз):
Сообщение доставляется и обрабатывается строго один раз. Это наиболее надёжная гарантия, достигается с помощью механизма идемпотентности продюсера и транзакций.

Примечание:
Гарантия зависит от настроек продюсера, консюмера и брокера Kafka.
22
яндексоиды, без негатива )
6
JPoint 2025

Вчера сходил на JPoint — Java-конференцию для опытных разработчиков. Билет мне оплатила компания (правда, с условием отработать ещё полгода или вернуть деньги при увольнении). Последний раз был на крупной конференции в 2018 в Питере на Joker. Если сравнивать, то участников и спонсоров сейчас стало поменьше и мерч поскромнее, зато стенды теперь более яркие и современные. Доклады по-прежнему на высоком уровне, особенно ажиотаж вызвал доклад про микробенчмарки. Организация тоже порадовала — кайфовый сайт с лк, чёткий тайминг, удобные дискуссионные зоны, обед в два потока — без очередей и суеты. В целом кайф!
26👨‍💻5
Впечатления от JPoint 2025 моего коллеги

Впечатления позитивные: большинство докладов понравились, интересные темы, классные спикеры. Особенно зашёл доклад «Путеводитель по профилированию приложений
на JVM» — захотелось применить.

Понравился и формат ответов на вопросы после докладов — очень живая атмосфера и возможность пообщаться лично со спикерами.

Отдельно удивило, что были доклады на английском.

Из минусов — попадались молодые спикеры, которые пока слабо владеют темой и не готовы отвечать на вопросы. Немного контрастирует с уровнем профессиональных докладчиков.

В целом такие конференции полезны, помогают увидеть, что ты еще многое не знаешь и мотивируют дальше развиваться)
10
Что посмотреть на выходных — 20

Наткнулся в Ютубе на классное шоу. Такой мини-формат Своей игры только между джавистами бигтеха. Команды: X5, Сбер, Тинькофф, Самокат, Мир Пей, RuStore, Тинькофф. Пару шуток-перебивок из шоу:

Сколько волка не корми — всё равно опыт крутит


На концерте классической музыки весь зал на сцене видит дирижёра. И только devops-инженер видит там оркестратора


https://youtube.com/playlist?list=PLretT_1_SO-AFm7rjtRuxobGWcI2us2zu

#чтопосмотреть@java_developer
17