TGViewer
Channel Public Channel
Java Developer

Java Developer

@java_tg

Авторский канал действующего разработчика — интересные заметки, новые технологии, библиотеки и фреймворки

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

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

Реклама на бирже: https://telega.in/c/java_tg
Subscribers
14.8K
Photos
2.2K
Videos
162
Links
2.5K

Showing posts older than #3371 · Back to latest

Older Posts 20 shown
Post #3370 3.09K
❔ Вопрос с собеседования

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

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

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

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


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

📱 Java Developer | Чат
  • ❤ 17
  • 🔥 8
  • 👍 4
Post #3369 3.13K
Современные проблемы требуют современных решений

📱 Java Developer | #memes
  • ❤ 16
  • 🔥 6
  • 😁 4
Post #3367 3.23K
👩‍💻 Постквантовая криптография: как защитить данные в эпоху квантовых компьютеров

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

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

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

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

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

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

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


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

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

tags: #статья

📱 Java Developer | Чат
  • ❤ 7
  • 🔥 2
Post #3365 3.45K
👩‍💻 Поиск утекающих ресурсов в Java приложении

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

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

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

tags: #статья

📱 Java Developer | Чат
  • ❤ 7
  • 👍 3
  • 🔥 1
Post #3364 3.32K
❔ Вопрос с собеседования

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

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

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

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


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

📱 Java Developer  | Чат
  • 🔥 20
  • ❤ 9
  • 👍 3
Post #3363 3.15K
Так вот оно что

📱 Java Developer | #memes
  • 😁 37
  • 🔥 7
  • 💯 3
Post #3362 3.46K
👩‍💻 Функциональное программирование в Java

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

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

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

tags: #статья

📱 Java Developer | Чат
  • ❤ 11
  • 👍 6
  • 🔥 2
Post #3361 3.11K
❔ Вопрос с собеседования

Что такое race condition?

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

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

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


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

📱 Java Developer  | Чат
  • 👍 15
  • ❤ 5
  • 🔥 2
Post #3359 4K
👩‍💻 Ускорение Spring REST API на 200%

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

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

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

tags: #статья

📱 Java Developer | Чат
  • 🔥 7
  • ❤ 3
Post #3358 3.27K
❔ Вопрос с собеседования

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

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

Причины:

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

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

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

Решения:

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

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

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

📱 Java Developer | Чат
  • 👍 22
  • ❤ 12
  • 🔥 3
Post #3357 3.13K
Они еще малы для такого

📱 Java Developer | #memes
  • ❤ 21
  • 😁 17
  • 💯 7
Post #3356 3.56K
👩‍💻 Управление транзакциями в Spring: подробно о @Transactional

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

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

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

tags: #статья

📱 Java Developer | Чат
  • 👍 7
  • 🔥 2
  • ❤ 1
Post #3355 3.43K
❔ Вопрос с собеседования

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

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

▶️ Порождающие — управляют созданием объектов (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  | Чат
  • ❤ 13
  • 👍 9
Post #3353 3.2K
Всё, что падает вечером в пятницу, поднимается только в понедельник

📱 Java Developer | #memes
  • 🤣 33
  • ❤ 2
Post #3351 3.45K
👩‍💻 Глубокое погружение в Stream API Java

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

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

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

tags: #статья

📱 Java Developer | Чат
  • 👍 14
  • ❤ 3
Post #3349 3.04K
Очевидно же

📱 Java Developer | #memes
  • 👍 24
  • 😁 7
  • 🤣 2
  • ❤ 1
Post #3347 3.17K
👩‍💻 Test-Driven Development: как полюбить модульное тестирование?

Test-Driven Development — это подход, при котором разработка начинается с написания тестов, а уже затем создаётся код, проходящий эти проверки.

В статье объясняется, как работает TDD на практике, какие у него преимущества и как применять этот подход эффективно.

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

tags: #статья

📱 Java Developer | Чат
  • ❤ 2
  • 🔥 1
Post #3345 3.25K
  • ❤ 7
  • 🔥 3
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →