В статье рассказывается о работе с библиотекой Apache PDFBox и проблемах, которые могут возникнуть при разборе длинных текстов в PDF-документах.
Автор подробно разбирает одну из причин сбоя — неэффективный алгоритм переноса строк — и предлагает способ его оптимизации.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
В статье рассказывается, чем занимаются инженеры, которые не пишут на Java, а разрабатывают саму JVM.
Автор делится опытом работы над внутренностями виртуальной машины — от JIT-компиляции до сборщика мусора — и объясняет, почему новые возможности языка требуют времени и тонкой инженерной работы.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Как устроен
enum
в Java и чем он отличается от enum
в других языках?Ответ:
В enum можно добавлять поля, методы и даже переопределять поведение для отдельных значений. Такие enum-классы являются final и не допускают наследования. Также их можно использовать в switch, как обычные константы.
В отличие от enum в C или C++, где это по сути просто числа, Java-энумы типобезопасны и могут вести себя как полноценные объекты с логикой и состоянием.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
Gson — это лёгкая и мощная библиотека от Google для преобразования Java-объектов в JSON и обратно.
Она часто используется при работе с REST API, конфигурациями и сериализацией сложных структур данных.
Зависимость Maven:
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.10.1</version>
</dependency>
tags: #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Можно ли в Java создать экземпляр абстрактного класса?
Ответ:
Экземпляры можно создавать от тех классов, которые наследуют абстрактный класс и реализуют все его абстрактные методы.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
Если вы используете CompletableFuture в Java, но не до конца понимаете, как он работает, эта статья — для вас.
Автор подробно разбирает внутреннее устройство класса, включая поля result и stack, механизмы завершения, композиции, порядок выполнения зависимостей, обработку исключений и особенности методов anyOf и allOf.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Можно ли переопределить
private
или static
метод в Java?Ответ:
private-методы недоступны за пределами класса, поэтому при совпадении имени в подклассе создаётся совершенно новый метод, не связанный с исходным.
static-методы привязаны к классу, а не к объекту, и при наследовании могут быть скрыты, но не переопределены, поскольку их вызов определяется на этапе компиляции, а не во время выполнения.
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
В статье рассматривается важность идемпотентности при проектировании API, особенно в условиях нестабильных соединений и возможных сбоев.
Автор подробно объясняет, как реализовать контроль идемпотентности с использованием уникальных ключей, где лучше размещать эту логику в архитектуре приложения и какие преимущества это дает для устойчивости и предсказуемости системы.
tags: #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Почему строка популярна в качестве ключа в HashMap?
Ответ:
tags: #собеседование
Please open Telegram to view this post
VIEW IN TELEGRAM
Mockito — это один из самых популярных фреймворков для создания моков в Java.
Он упрощает написание модульных тестов, позволяя изолировать поведение зависимостей без написания «заглушек» вручную.
Зависимость Maven:
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>5.11.0</version>
<scope>test</scope>
</dependency>
Удобен при работе с сервисами, репозиториями и внешними API: можно легко подменить реальные объекты их имитациями и проверить, как они вызываются.
tags: #полезное
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM