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

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

1. Обзор

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

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

Для ознакомления с основной реализацией Java ListArrayList — обратитесь к этой статье .

2. Исключение UnsupportedOperationException

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

1. Обзор

Проще говоря, NaN — это числовое значение типа данных, которое означает «не число».

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

2. Что такое NaN ?

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

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

1. Обзор

В этой статье мы опишем шаблон Observer и рассмотрим несколько альтернатив реализации Java.

2. Что такое шаблон наблюдателя?

Наблюдатель — это поведенческий шаблон проектирования. Он определяет связь между объектами: наблюдаемыми и наблюдателями . Наблюдаемый — это объект, который уведомляет наблюдателей об изменениях своего состояния. ``

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

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

1. Обзор

В этой быстрой статье мы поговорим о мягких ссылках в Java.

Мы объясним, что это такое, зачем они нужны и как их создать.

2. Что такое мягкие ссылки?

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

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

1. Обзор

В Java 6 появилась функция для обнаружения и загрузки реализаций, соответствующих заданному интерфейсу: интерфейс поставщика услуг (SPI).

В этом руководстве мы познакомим вас с компонентами Java SPI и покажем, как мы можем применить его на практике.

2. Термины и определения Java SPI

Java SPI определяет четыре основных компонента

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

1. Обзор

В этой статье мы объясним, почему мы должны использовать массив char[] для представления паролей вместо String в Java.

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

Мы также предполагаем, что не можем контролировать формат пароля (например, пароль исходит от стороннего API в виде строки ). Хотя использование объекта типа java.lang.String для управления паролями кажется очевидным , сами разработчики Java рекомендуют вместо этого использовать char[] .

Например, если мы посмотрим на JPasswordField javax.swing , то увидим, что метод getText() , который возвращает String , устарел, начиная с Java 2, и заменен методом getPassword() , который возвращает char[] .

Итак, давайте рассмотрим несколько веских причин, почему это так.

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

1. Введение

Проще говоря, Spring интенсивно использует редакторы свойств для управления преобразованием между строковыми значениями и пользовательскими типами объектов ; это основано на Java Beans PropertyEditor .

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

2. Автоматическая привязка редактора свойств

Стандартная инфраструктура JavaBeans автоматически обнаружит классы PropertyEditor , если они находятся в том же пакете, что и класс, с которым они работают. Кроме того, они должны иметь то же имя, что и этот класс, плюс суффикс Editor .

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

1. Введение

В этой статье мы рассмотрим, чем отличаются реализации Stream в Java и Vavr.

В этой статье предполагается знакомство с основами как Java Stream API , так и библиотеки Vavr .

2. Сравнение

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

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

1. Обзор

В этом всеобъемлющем руководстве мы рассмотрим практическое использование потоков Java 8 от создания до параллельного выполнения.

Чтобы понять этот материал, читатели должны иметь базовые знания Java 8 (лямбда-выражения, необязательно, ссылки на методы) и Stream API. Чтобы лучше ознакомиться с этими темами, ознакомьтесь с нашими предыдущими статьями: « Новые возможности в Java 8 » и « Введение в потоки Java 8» .

2. Создание потока

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

1. Введение

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

Список — это упорядоченная структура данных, поэтому порядок элементов имеет значение по дизайну.

взгляните на отрывок из документации List#equals Java:

… два списка считаются равными, если они содержат одни и те же элементы в одном и том же порядке.

Это определение гарантирует правильную работу метода equals в различных реализациях интерфейса List.