Перейти к основному содержимому

· 2 мин. чтения

1. Введение

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

2. На основе команд

В этом подходе мы будем использовать команду оболочки для идентификации всех jar-файлов в локальном репозитории maven, которые имеют класс ObjectMapper . Давайте начнем с написания сценария для идентификации класса в банке. Сценарий использует команду jar и grep для печати соответствующего файла jar:

jar -tf $1 | grep $2 && echo "Found in : $1"

· 4 мин. чтения

1. Обзор

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

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

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

2. Реализация счетчика

· 6 мин. чтения

1. Обзор

В этом руководстве мы узнаем, как использовать класс IdentityHashMap в Java. Мы также рассмотрим, чем он отличается от общего класса HashMap . Хотя этот класс реализует интерфейс Map , он нарушает контракт интерфейса Map .

Для получения более подробной документации мы можем обратиться к странице документа IdenityHashMap java. Подробнее об общем классе HashMap можно прочитать в A Guide to Java HashMap .

2. О классе IdentityHashMap

Этот класс реализует интерфейс Map . Интерфейс карты требует использования метода equals() при сравнении ключей. Однако класс IdentityHashMap нарушает этот договор. Вместо этого он использует ссылочное равенство (==) для ключевых операций поиска .

· 6 мин. чтения

1. Обзор

В этом руководстве мы рассмотрим использование интерфейсов Iterable и Iterator в Java и различия между ними.

2. Итерируемый интерфейс

Итерируемый интерфейс принадлежит пакету java.lang . Он представляет собой структуру данных, которую можно повторять.

Интерфейс Iterable предоставляет метод, создающий Iterator . При использовании Iterable мы не можем получить элемент по индексу. Точно так же мы не можем получить первый или последний элементы из структуры данных.

· 4 мин. чтения

1. Обзор

В этом туториале будет приведен практический пример того, как скачать бинарный файл с помощью библиотеки OkHttp .

2. Зависимости Maven

Мы начнем с добавления зависимости базовой библиотеки okhttp :

<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.9.1</version>
</dependency>

· 2 мин. чтения

1. Обзор

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

В этом коротком руководстве мы рассмотрим, как писать эти утверждения, используя функции как из JUnit , так и из AssertJ .

2. Проверьте, является ли необязательный параметр пустым или нет

Если нам нужно только выяснить, имеет ли значение option значение, мы можем утверждать isPresent или isEmpty .

· 4 мин. чтения

1. Обзор

В этом руководстве мы узнаем, что такое объект передачи данных (DTO), объект значения (VO), обычный старый объект Java (POJO) и JavaBeans. Мы рассмотрим различия между ними и поймем, какой тип использовать и когда.

2. Обычный старый Java-объект

POJO , также известный как Plain Old Java Object, — это обычный объект Java, который не имеет ссылок на какой-либо конкретный фреймворк. Этот термин используется для обозначения простого легковесного объекта Java.

POJO не использует никаких соглашений об именах для свойств и методов.

· 8 мин. чтения

1. Обзор

В наши дни Quarkus позволяет очень легко разрабатывать надежные и чистые приложения. Но как насчет тестирования?

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

2. Настройка

Начнем с базового проекта Quarkus, настроенного в нашем предыдущем руководстве по QuarkusIO .

· 5 мин. чтения

1. Введение

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

Давайте подробно обсудим различные доступные решения этой проблемы разделения строк .

2. Основы

Вселенная Java предлагает довольно много библиотек ( например, java.lang.String , Guava и Apache Commons), облегчающих разбиение строк в простых и довольно сложных случаях. Кроме того, многофункциональные регулярные выражения обеспечивают дополнительную гибкость при разделении задач, связанных с сопоставлением определенного шаблона.

· 5 мин. чтения

1. Обзор

Camel case и title case обычно используются в качестве идентификаторов для полей и типов. Мы можем захотеть преобразовать текст в этот формат.

Этого можно добиться либо написанием собственного кода, либо использованием сторонних библиотек.

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

2. Java-решения