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

1310 записей с тегом "Java"

Посмотреть все теги

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

1. Введение

Следуя Руководству по модульности Java 9 , в этой статье мы собираемся изучить API java.lang.Module , который был представлен вместе с системой модулей платформы Java.

Этот API предоставляет способ программного доступа к модулю, получения конкретной информации из модуля и, как правило, работы с ним и его дескриптором модуля . ``

2. Чтение информации о модуле

Класс Module представляет как именованные, так и неименованные модули. Именованные модули имеют имя и конструируются виртуальной машиной Java при создании уровня модуля, используя граф модулей в качестве определения.

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

1. Обзор

Мы видим перечисления почти в каждом приложении. К ним относятся коды состояния заказа, такие как ЧЕРНОВИК и ОБРАБОТКА, а также коды веб-ошибок, такие как 400, 404, 500, 501 и т. д. Всякий раз, когда мы видим пронумерованные данные в домене, мы будем видеть Enum для них в нашем приложении. Мы можем использовать данные во входящем запросе и найти это перечисление. Например, мы можем сопоставить веб-ошибку 400 с BAD_REQUEST .

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

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

2. Поиск Enum по имени

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

1. Обзор

В этом руководстве мы более подробно рассмотрим ошибку Java «неявный суперконструктор не определен» . Во-первых, мы создадим пример того, как его производить. Далее мы объясним основную причину исключения, а позже посмотрим, как это исправить.

2. Практический пример

Теперь давайте посмотрим на пример, который генерирует ошибку компиляции «Неявный суперконструктор X() не определен. Должен явно вызывать другой конструктор».

Здесь X представляет родительский класс, который расширяется любым подклассом, который видит эту ошибку.

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

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

1. Обзор

Java 8 представила несколько улучшений интерфейса Comparator , в том числе несколько статических функций, которые очень полезны при определении порядка сортировки коллекций.

Интерфейс Comparator также может эффективно использовать лямбда-выражения Java 8. Подробное объяснение лямбда-выражений и компаратора можно найти здесь , а хронику применения компаратора и сортировки можно найти здесь .

В этом руководстве мы рассмотрим несколько функций, представленных для интерфейса Comparator в Java 8 .

2. Начало работы

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

1. Обзор

Абстрактные классы и конструкторы могут показаться несовместимыми. Конструктор — это метод, вызываемый при создании экземпляра класса , а абстрактный класс не может быть создан . Звучит нелогично, правда?

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

2. Конструктор по умолчанию

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

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

1. Обзор

Этот учебник представляет собой краткое введение в то, как найти минимальное и максимальное значения из заданного списка или коллекции с помощью мощного Stream API в Java 8.

2. Найдите Макса в списке целых чисел

Мы можем использовать метод max() , предоставляемый через интерфейс java.util.Stream , который принимает ссылку на метод:

@Test
public void whenListIsOfIntegerThenMaxCanBeDoneUsingIntegerComparator() {
// given
List<Integer> listOfIntegers = Arrays.asList(1, 2, 3, 4, 56, 7, 89, 10);
Integer expectedResult = 89;

// then
Integer max = listOfIntegers
.stream()
.mapToInt(v -> v)
.max().orElseThrow(NoSuchElementException::new);

assertEquals("Should be 89", expectedResult, max);
}

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

1. Введение

В этом руководстве мы рассмотрим различные способы захвата дампа кучи в Java.

Дамп кучи — это снимок всех объектов, находящихся в памяти JVM в определенный момент . Они очень полезны для устранения проблем с утечкой памяти и оптимизации использования памяти в приложениях Java.

Дампы кучи обычно хранятся в файлах hprof двоичного формата. Мы можем открывать и анализировать эти файлы с помощью таких инструментов, как jhat или JVisualVM. Кроме того, пользователи Eclipse очень часто используют MAT .

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

2. Инструменты JDK

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

1. Обзор

Когда нам нужно найти или заменить значения в строке в Java, мы обычно используем регулярные выражения . Они позволяют нам определить, соответствует ли часть или вся строка шаблону. Мы можем легко применить одну и ту же замену к нескольким токенам в строке с помощью метода replaceAll как в Matcher , так и в String .

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

Мы также рассмотрим несколько приемов настройки наших регулярных выражений для правильной идентификации токенов.

2. Индивидуальная обработка совпадений

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

1. Обзор

Иногда нам нужно удалить все теги HTML и извлечь текст из строки документа HTML.

Проблема выглядит довольно просто. Однако, в зависимости от требований, он может иметь разные варианты.

В этом уроке мы обсудим, как это сделать с помощью Java.

2. Использование регулярных выражений