❤4👍3
В статье автор делится опытом отладки приложения, где нагрузка на CPU достигала 3200%, полностью загружая все 32 ядра сервера.
Проблема заключалась в незащищённом доступе нескольких потоков к общей структуре данных TreeMap, что приводило к аномальному потреблению ресурсов.
Что вы узнаете из статьи:
▶️ Как незащищённый доступ к TreeMap может вызвать перегрузку процессора?▶️ Какие ошибки в многопоточной среде могут привести к подобным проблемам?▶️ Как диагностировать и решать проблемы с высокой загрузкой CPU в Java-приложениях?▶️ Какие инструменты и методы использовать для отладки многопоточных приложений?
Автор подробно описывает процесс выявления и устранения проблемы, предоставляя ценные рекомендации по работе с многопоточностью в Java.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤5
Почему
HashMap
не потокобезопасен, и что может пойти не так при одновременной записи в него?Ответ:
Причины:
Решения:
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21❤5🔥4
Многие новички в программировании привыкают к тому, что для запуска Java-приложения достаточно создать Gradle/Maven-проект, нажать кнопку в IDE — и все работает.
Но стоит выйти за рамки стандартных сценариев, как процесс сборки превращается в “черный ящик”, а разобраться, что происходит под капотом, становится непросто.
В статье автор объясняет, как работает компиляция в Java, показывает, как вручную собрать и запустить программу, а затем шаг за шагом подводит к созданию собственной системы сборки.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10🔥6👍3
🤣22❤4
Приватные методы редко тестируют напрямую, но в некоторых случаях это может быть необходимо.
В статье разбираются способы их тестирования с помощью Reflection API, публичных интерфейсов и альтернативных подходов.
Что вы узнаете из статьи:
▶️ Когда тестирование приватных методов действительно необходимо?▶️ Как с помощью Reflection API получить доступ к закрытым методам?▶️ Почему тестирование через публичные методы предпочтительнее?▶️ Какие архитектурные решения позволяют упростить тестирование?
Автор разбирает примеры кода, объясняет плюсы и минусы каждого подхода и помогает выбрать оптимальный способ тестирования.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍3
В чем преимущества и недостатки ООП по сравнению с процедурным/функциональным программированием?
Преимущества ООП:
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10❤5
JetBrains выпустила бета-версию IntelliJ IDEA 2025.1 с улучшенной работой с Git, коммитами и интеграцией Dev Containers, а также рядом других обновлений.
Основные нововведения:
▶️ Интерфейс: нативные диалоговые окна для работы с файлами в Windows▶️ Git: отображение деталей коммита в окне diff, авто-fetch при изменении remote, отключение хуков при коммите▶️ Коммиты: немодальное окно коммита для удобства и скорости работы▶️ Dev Containers: готовый образ Ubuntu для быстрого запуска контейнеризированных сред
Подробнее обо всех изменениях — в статье.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍5👨💻2
Поддерживает ли Java множественное наследование классов?
Ответ:
Однако, множественное наследование можно реализовать с помощью интерфейсов – класс может одновременно имплементировать несколько интерфейсов, получая их сигнатуры методов без конкретной реализации.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16❤7👍2
18 марта выходит Java 24 с улучшенной работой потоков, байткода и взаимодействия с нативным кодом.
Основные нововведения:
▶️ Stream Gatherers: новый метод gather(Gatherer) для кастомных операций в стримах▶️ Class-File API: официальное API для работы с байткодом и модификацией классов▶️ Pattern Matching for switch: расширенная поддержка паттерн-матчинга в switch▶️ Foreign Function & Memory API: улучшенное взаимодействие с нативным кодом и памятью▶️ Virtual Threads: виртуальные потоки для более эффективной многопоточности
Подробнее обо всех изменениях можно прочитать в статье.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤7🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁28🤣20❤4
👍14🤯11🔥5😁2