- Последний пост
- 20 апр. 2025 г.
- Последнее чтение
- 18:12
- Постов за неделю
- 0
- Всего постов
- 20
- Тип
- открытый
- Язык
- русский
- Категория
- Развлечения
- В каталоге с
- 23:04
- 1/24сутки в ленте
- —
- 1/48двое суток
- —
- 1/72трое суток
- —
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
Что посмотреть на выходных — 20 Наткнулся в Ютубе на классное шоу. Такой мини-формат Своей игры только между джавистами бигтеха. Команды: X5, Сбер, Тинькофф, Самокат, Мир Пей, RuStore, Тинькофф. Пару шуток-перебивок из шоу: Сколько волка не корми — всё равно опыт крутит На концерте классической музыки весь зал на сцене видит дирижёра. И только devops-инженер видит там оркестратора https://youtube.com/playlist?list=PLretT_1_SO-AFm7rjtRuxobGWcI2us2zu #чтопосмотреть@java_developer
Впечатления от JPoint 2025 моего коллеги Впечатления позитивные: большинство докладов понравились, интересные темы, классные спикеры. Особенно зашёл доклад «Путеводитель по профилированию приложений на JVM» — захотелось применить. Понравился и формат ответов на вопросы после докладов — очень живая атмосфера и возможность пообщаться лично со спикерами. Отдельно удивило, что были доклады на английском. Из минусов — попадались молодые спикеры, которые пока слабо владеют темой и не готовы отвечать на вопросы. Немного контрастирует с уровнем профессиональных докладчиков. В целом такие конференции полезны, помогают увидеть, что ты еще многое не знаешь и мотивируют дальше развиваться)
без подписи
без подписи
без подписи
без подписи
без подписи
без подписи
JPoint 2025 Вчера сходил на JPoint — Java-конференцию для опытных разработчиков. Билет мне оплатила компания (правда, с условием отработать ещё полгода или вернуть деньги при увольнении). Последний раз был на крупной конференции в 2018 в Питере на Joker. Если сравнивать, то участников и спонсоров сейчас стало поменьше и мерч поскромнее, зато стенды теперь более яркие и современные. Доклады по-прежнему на высоком уровне, особенно ажиотаж вызвал доклад про микробенчмарки. Организация тоже порадовала — кайфовый сайт с лк, чёткий тайминг, удобные дискуссионные зоны, обед в два потока — без очередей и суеты. В целом кайф!
без подписи
без подписи
JPoint 2025 Вчера сходил на JPoint — Java-конференцию для опытных разработчиков. Билет мне оплатила компания (правда, с условием отработать ещё полгода или вернуть деньги при увольнении). Последний раз был на крупной конференции в 2018 в Питере на Joker. Если сравнивать, то участников и спонсоров сейчас стало поменьше и мерч поскромнее, зато стенды теперь более яркие и современные. Доклады по-прежнему на высоком уровне, особенно ажиотаж вызвал доклад про микробенчмарки. Организация тоже порадовала — кайфовый сайт с лк, чёткий тайминг, удобные дискуссионные зоны, обед в два потока — без очередей и суеты. В целом кайф!
без подписи
яндексоиды, без негатива )
Kafka Какие есть гарантии доставки сообщений Ответ: 1. At most once (не более одного раза): Сообщение может быть потеряно, но никогда не будет доставлено повторно. 2. At least once (как минимум один раз): Сообщение доставляется минимум один раз, но возможно повторное получение. 3. Exactly once (ровно один раз): Сообщение доставляется и обрабатывается строго один раз. Это наиболее надёжная гарантия, достигается с помощью механизма идемпотентности продюсера и транзакций. Примечание: Гарантия зависит от настроек продюсера, консюмера и брокера Kafka.
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-методы позволяют расширять интерфейс без нарушения совместимости, но не заменяют полноценного «скелета» с полями и логикой, который даёт абстрактный класс.
Spring При каких условиях транзакция Spring будет откатана (rollback)? Ответ: 1. Если выброшено unchecked исключение (наследник RuntimeException или Error). 2. Если выброшено checked исключение, указанное в аннотации @Transactional с параметром rollbackFor. @Transactional(rollbackFor = { IOException.class }) Примечание: Checked исключения (например, IOException) по умолчанию не вызывают роллбэк, поэтому их нужно явно указывать через параметр rollbackFor.
Java Stream API Разница между методами map и flatMap • Метод map принимает функцию, которая вызывается для каждого элемента стрима и преобразует его в другое значение. В результате получается стрим с преобразованными элементами, структура стрима при этом не меняется. List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5); List<String> strings = numbers.stream() .map(number -> String.valueOf(number)) .collect(Collectors.toList()); • Метод flatMap принимает функцию, которая преобразует каждый элемент стрима в новый стрим. Затем flatMap объединяет (склеивает) полученные стримы в один общий. Пример. У нас есть список заказов, а каждый заказ содержит список купленных вещей. Получить список всех купленных вещей можно так: List<Item> items = orders.stream() .flatMap(order -> order.getItems().stream()) .collect(Collectors.toList());
Spring Для чего используется аннотация @Qualifier Ответ: Когда есть несколько бинов одного типа, то используя @Qualifier мы говорим Spring'у, какой именно бин внедрить. При этом также существует аннотация @Primary. Если мы укажем бин @Primary, то Spring его выберет по умолчанию. Когда нужен конкретный другой бин, то @Qualifier переопределит выбор @Primary. Kafka Как сделать, чтобы сообщения по одному процессу обрабатывались последовательно? Ответ Для таких сообщений нужно использовать одинаковый ключ (идентификатор процесса). Продюсер, используя этот ключ, отправит все связанные сообщения в одну и ту же партицию. Так как сообщения внутри партиции обрабатываются строго по порядку, один консьюмер получит их последовательно. SQL Чем отличается SELECT COUNT(*) от SELECT COUNT(address) Ответ: COUNT(*) считает общее количество строк, независимо от того, содержат ли они NULL в каком-либо поле. COUNT(address) же считает количество ненулевых значений в столбце address. Если столбец address содержит NULL в некоторых строках, такие строки в подсчёт не включаются.
так, на чём мы тут остановились