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

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

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

Реклама на бирже: https://telega.in/c/java_tg
Download Telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
😁36💯12🤣7
Под какой буквой правильный ответ?
Anonymous Quiz
68%
A
11%
B
3%
C
17%
D
4👍3
👩‍💻 Как незащищённая TreeMap может привести к 3200% загрузке процессора?

В статье автор делится опытом отладки приложения, где нагрузка на CPU достигала 3200%, полностью загружая все 32 ядра сервера.

Проблема заключалась в незащищённом доступе нескольких потоков к общей структуре данных TreeMap, что приводило к аномальному потреблению ресурсов.

Что вы узнаете из статьи:
▶️ Как незащищённый доступ к TreeMap может вызвать перегрузку процессора?

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

▶️ Как диагностировать и решать проблемы с высокой загрузкой CPU в Java-приложениях?

▶️ Какие инструменты и методы использовать для отладки многопоточных приложений?


Автор подробно описывает процесс выявления и устранения проблемы, предоставляя ценные рекомендации по работе с многопоточностью в Java.

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

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥75
Microsoft Edge: Какую функцию Edge вы используете чаще всего?
Opera: 😆


📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
😁42🤣19👍6🔥5👨‍💻3
Вопрос с собеседования

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

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

Причины:

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

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

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

Решения:

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

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

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

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍215🔥4
👩‍💻 Делаем свою простейшую систему сборки для Java

Многие новички в программировании привыкают к тому, что для запуска Java-приложения достаточно создать Gradle/Maven-проект, нажать кнопку в IDE — и все работает.

Но стоит выйти за рамки стандартных сценариев, как процесс сборки превращается в “черный ящик”, а разобраться, что происходит под капотом, становится непросто.

В статье автор объясняет, как работает компиляция в Java, показывает, как вручную собрать и запустить программу, а затем шаг за шагом подводит к созданию собственной системы сборки.

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

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥6👍3
Работает не только с SQL 😆

📱 Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
😁43🤣12💯2
Что выведет код сверху?
Anonymous Quiz
50%
null
20%
Ничего не выведет
30%
Ошибка компиляции
🤣224
👩‍💻 Java-тестирование приватных методов

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

В статье разбираются способы их тестирования с помощью Reflection API, публичных интерфейсов и альтернативных подходов.

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

▶️ Как с помощью Reflection API получить доступ к закрытым методам?

▶️ Почему тестирование через публичные методы предпочтительнее?

▶️ Какие архитектурные решения позволяют упростить тестирование?


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

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

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍3
Ох уж эти питонисты

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

В чем преимущества и недостатки ООП по сравнению с процедурным/функциональным программированием?

Преимущества ООП:

Модульность: легкость управления большими проектами

Повторное использование: возможность использования одного и того же кода в разных частях программы

Поддержка абстракции: обеспечение высокого уровня абстракции через классы и объекты

Недостатки ООП:

Сложность: для новичков сложнее освоить концепции ООП по сравнению с процедурным подходом

Производительность: может быть ниже по сравнению с другими способами

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

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥105
👩‍💻 Вышла IntelliJ IDEA 2025.1 Beta

JetBrains выпустила бета-версию IntelliJ IDEA 2025.1 с улучшенной работой с Git, коммитами и интеграцией Dev Containers, а также рядом других обновлений.

Основные нововведения:
▶️ Интерфейс: нативные диалоговые окна для работы с файлами в Windows

▶️ Git: отображение деталей коммита в окне diff, авто-fetch при изменении remote, отключение хуков при коммите

▶️ Коммиты: немодальное окно коммита для удобства и скорости работы

▶️ Dev Containers: готовый образ Ubuntu для быстрого запуска контейнеризированных сред


Подробнее обо всех изменениях — в статье.

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

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍5👨‍💻2
Пусть сами выбирают⁠⁠

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

Поддерживает ли Java множественное наследование классов?

Ответ: Java не позволяет классу наследоваться сразу от нескольких классов, так как это может привести к конфликтам при разрешении методов.

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


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

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥167👍2
👩‍💻 Нововведения Java 24

18 марта выходит Java 24 с улучшенной работой потоков, байткода и взаимодействия с нативным кодом.

Основные нововведения:
▶️ Stream Gatherers: новый метод gather(Gatherer) для кастомных операций в стримах

▶️ Class-File API: официальное API для работы с байткодом и модификацией классов

▶️ Pattern Matching for switch: расширенная поддержка паттерн-матчинга в switch

▶️ Foreign Function & Memory API: улучшенное взаимодействие с нативным кодом и памятью

▶️ Virtual Threads: виртуальные потоки для более эффективной многопоточности


Подробнее обо всех изменениях можно прочитать в статье.

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

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍147🔥2
2
Что выведет код сверху?
Anonymous Quiz
1%
x + 1 =
42%
x + 1 = 2
45%
x + 1 = 11
12%
Ошибка
👍14🤯11🔥5😁2