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

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

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

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

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24😁61🤣1
👩‍💻 Глубокое погружение в Stream API Java

Stream API позволяет обрабатывать данные в функциональном стиле, что делает код проще, выразительнее и компактнее.

В статье объясняется, как работает этот подход, приведены реальные примеры и советы по лучшим практикам.

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

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍143
Всё, что падает вечером в пятницу, поднимается только в понедельник

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

Какие знаешь паттерны проектирования?

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

▶️ Порождающие — управляют созданием объектов (Singleton, Factory Method, Builder, Prototype, Abstract Factory);

▶️ Структурные — описывают, как компоненты связаны между собой (Adapter, Facade, Decorator, Proxy, Composite, Bridge, Flyweight);

▶️ Поведенческие — регулируют взаимодействие между объектами и их обязанностями (Observer, Strategy, Command, State, Template Method, Iterator, Chain of Responsibility и др).

Знание паттернов помогает строить масштабируемую, гибкую и легко сопровождаемую архитектуру.


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

📱 Java Developer  | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍7
👩‍💻 Управление транзакциями в Spring: подробно о @Transactional

В статье рассказывается, как устроена аннотация @Transactional в Spring и почему иногда транзакции ведут себя не так, как вы ожидаете.

Автор подробно объясняет, как работают прокси, откаты, вложенные транзакции и связь с JPA — с примерами кода, подводными камнями и разбором типичных ошибок.

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

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥21
Они еще малы для такого

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

Почему HashMap не потокобезопасен, и что может пойти не так при одновременной записи в него?

Ответ: HashMap не синхронизирован, и при многопоточной записи могут возникнуть циклические ссылки (infinite loop) или потеря данных.

Причины:

▶️ При put() возможна перезапись данных в одной и той же ячейке

▶️ Resize (rehash) в многопоточной среде может привести к зацикливанию списка бакетов

▶️ При итерации можно получить ConcurrentModificationException

Решения:

▶️ Использовать ConcurrentHashMap для потокобезопасности

▶️ Синхронизировать доступ через Collections.synchronizedMap()

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

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2110🔥2
👩‍💻 Ускорение Spring REST API на 200%

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

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

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

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥73
Так и живём

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

Что такое race condition?

Ответ: Race condition (состояние гонки) — это ошибка в многопоточном или асинхронном коде, которая возникает, когда результат работы программы зависит от порядка выполнения потоков или операций.

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

Чтобы избежать race condition, используют блокировки, мьютексы, транзакции или другие механизмы синхронизации.


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

📱 Java Developer  | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍134🔥2
👩‍💻 Функциональное программирование в Java

Функциональное программирование — это стиль написания кода, основанный на чистых функциях, иммутабельности данных и отсутствии побочных эффектов.

В статье разбираются основные принципы ФП в Java и показано, как использовать лямбда-выражения, функциональные интерфейсы и Stream API для упрощения разработки и повышения надежности кода.

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

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍6🔥2
Так вот оно что

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
1😁31🔥7💯2
Вопрос с собеседования

Чем отличается Singleton от Prototype?

Ответ: Singleton гарантирует, что у класса будет только один экземпляр во всём приложении и предоставляет к нему глобальную точку доступа. Такой паттерн обычно используют для управления уникальными ресурсами — например, подключением к БД или конфигурацией.

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

Итого: Singleton ограничивает количество экземпляров до одного, Prototype — упрощает клонирование и создание новых объектов.


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

📱 Java Developer  | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥168👍2
👩‍💻 Поиск утекающих ресурсов в Java приложении

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

Рассматриваются причины повышенного потребления памяти, методы диагностики с использованием дампов и инструмента VisualVM, а также предлагаются решения для эффективного управления ресурсами в приложении.

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

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍3🔥1
А ведь правда

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
37🤣21🔥5
👩‍💻 Постквантовая криптография: как защитить данные в эпоху квантовых компьютеров

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

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

В статье рассматривается, как интегрировать постквантовые криптографические алгоритмы в проекты на Java и Go, а также какие инструменты помогут сделать этот процесс проще.

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

▶️ Как их внедрять в проекты на Java и Go?

▶️ Какие библиотеки и инструменты облегчают переход?

▶️ С какими сложностями можно столкнуться при адаптации криптографии?


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

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

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥2
Современные проблемы требуют современных решений

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

Почему Thread.sleep() не освобождает монитор блокировки?

Ответ: Метод Thread.sleep() приостанавливает выполнение потока на заданное время, но при этом не освобождает монитор, если поток удерживает synchronized-блокировку.

Это происходит потому, что sleep() просто переводит поток в состояние ожидания (TIMED_WAITING), но не влияет на механизмы синхронизации. Пока поток “спит”, другие потоки не могут получить доступ к заблокированному ресурсу, так как монитор остается занятым.

Чтобы освободить монитор и дать другим потокам возможность выполнить код, необходимо использовать wait(), join(), Lock или Condition, которые позволяют явно управлять блокировкой и ожиданием.


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

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
15🔥7👍4
👩‍💻 Один день из жизни JVM-инженера

В статье рассказывается, чем занимаются инженеры, которые не пишут на Java, а разрабатывают саму JVM.

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

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

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥62
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣389