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

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

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

Реклама на бирже: https://telega.in/c/java_tg
Download Telegram
😁4
Что выведет код сверху?
Anonymous Quiz
10%
ZERO
48%
MIN
15%
MAX
27%
Ошибка
🔥114👍2
👩‍💻 Программирование без условных операторов

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

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

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

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔10🔥85
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣45😁6🔥2😎2
Вопрос с собеседования

Почему переменные внутри интерфейса всегда public static final?

Ответ: Потому что интерфейс описывает контракт, а не состояние. Все поля интерфейса — это константы, доступные без создания экземпляра. Они автоматически public static final, даже без явного указания.

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

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥54
👩‍💻 Избавляемся от Flaky тестов в CI/CD при помощи JMina

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

Автор показывает, как минимальными усилиями улучшить отладку тестов в CI/CD и сократить время на поиск причин сбоев.

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

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
2👨‍💻2🔥1
Вопрос с собеседования

В чём разница между переопределением и перегрузкой?

Ответ: Перегрузка (overloading) — это способ определить в одном классе несколько методов с одинаковым именем, но разными параметрами.

Переопределение (overriding) используется в наследовании, когда подкласс предоставляет свою реализацию метода, унаследованного от родительского класса.

Перегрузка помогает организовать разную логику под одним именем, а переопределение позволяет изменить поведение унаследованного метода.


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

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥32
👩‍💻 Как я создал идеальный REST API — микросервис инцидентов на Java и Spring

В этой статье вы узнаете, как спроектировать и реализовать REST API для микросервиса на Java с использованием Spring Framework.

Автор рассматривает лучшие практики, принципы архитектуры, реализацию CRUD-операций и удобные инструменты, такие как Lombok, ControllerAdvice, MapStruct.

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

tags:
#статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍53
Недалёкое будущее

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

Зачем в Java нужны volatile переменные, если есть synchronized?

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

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

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍125🔥3
👩‍💻 Автогенерация тестов в IntelliJ IDEA: сравнение AI-инструментов

В статье рассматриваются AI-инструменты для автоматической генерации тестов в IntelliJ IDEA для языков Java и Kotlin.

Автор анализирует их преимущества и недостатки, а также делится результатами опроса более 400 разработчиков об их отношении к таким инструментам.

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

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍54😁1🤔1
Коротко об опенсорсе:

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

В чём разница между final, finally и finalize?

Ответ: Несмотря на схожие названия, это конструкции из совершенно разных областей:

▶️ final — модификатор, используемый для ограничения: переменную нельзя переназначить, метод нельзя переопределить, класс нельзя расширить;

▶️ finally — блок, связанный с обработкой исключений; он выполняется после try/catch независимо от того, произошло исключение или нет;

▶️ finalize() — метод, связанный со сборкой мусора; он может быть вызван перед уничтожением объекта, но механизм устарел и не рекомендуется к использованию.

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

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
👍137🔥1
👩‍💻 Наивный перенос строк в PDFBox: как не надо работать с текстом

В статье рассказывается о работе с библиотекой Apache PDFBox и проблемах, которые могут возникнуть при разборе длинных текстов в PDF-документах.

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

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

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥42
Please open Telegram to view this post
VIEW IN TELEGRAM
💯16🤣12😁4👍21
Что выведет код сверху?
Anonymous Quiz
2%
0
64%
5
28%
6
6%
Ошибка
8👍75
👩‍💻 Один день из жизни JVM-инженера

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

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

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

tags: #статья

📱 Java Developer | Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥93👍3
Please open Telegram to view this post
VIEW IN TELEGRAM
28🤣22😁5