Высший учебник Java 27
Лямбды и функциональные интерфейсы
Введение
Функциональный интерфейс
Лямбда-выражение
Параметры лямбда-выражения
Возврат значения из лямбды
Блок кода в лямбде
Лямбда как параметр метода
Возврат лямбды из метода
Предикат для проверки условий
Функция преобразования значения
Обработка значения без возврата
Поставщик готовых значений
Унарный оператор над типом
Практика
Ссылки на методы
Введение
Статический метод класса
Метод заданного объекта
Метод первого аргумента
Создание через конструктор
Применение к коллекциям
Практика
Введение
Создание из значения
Пустой контейнер
Проверка наличия
Извлечение значения
Запасное значение
Запас через поставщика
Исключение при пустоте
Преобразование значения
Преобразование с вложенностью
Отбор по условию
Цепочки шагов
Практика
Введение
Из коллекции
Промежуточные операции
Конечная операция
Отбор элементов
Преобразование элементов
Развертывание потока
Ограничение длины
Пропуск элементов
Сортировка
Уникальные элементы
Просмотр без изменения
Подсчет элементов
Проверка «хотя бы один»
Проверка «все подходят»
Проверка «ни один не подходит»
Первый подходящий элемент
Свертка значений
Сбор в список
Сбор через Collectors
Группировка
Практика
Введение
Операторы повторения
Группирующие скобки
Экранировка спецсимволов
Фигурные скобки
Ограничение жадности
Группы символов
Наборы символов
Инвертирование наборов символов
Особенности кириллицы
Спецсимволы внутри наборов
Группы символов внутри наборов
Спецсимволы-исключения внутри наборов
Символ шляпки внутри наборов
Особенности дефиса внутри наборов
Начало и конец строки
Граница слов
Многострочность
Команда 'или'
Поиск совпадения
Позиция найденного
Группы при поиске
Группы в шаблоне
Все группы списком
Именованные группы
Группы в строке замены
Доллар в строке замены
Список совпадений
Группы во всех совпадениях
Перебор совпадений
Группы при переборе
Именованные группы при переборе
Полное совпадение
Группы при полном совпадении
Совпадение с начала строки
Группы при совпадении с начала
Замена совпадений
Замена первого совпадения
Разбиение строки
Несохраняющие скобки
Просмотр вперед и назад
Флаги в строке
Флаги Pattern
Практика
Задачи на шаблоны
Обобщения
Введение
Обобщенный метод
Несколько параметров
Обобщенный класс
Тип коллекции
Верхняя граница
Несколько границ
Подстановочный тип
Чтение с верхней границей
Запись с нижней границей
Производитель и потребитель
Сырой тип
Практика
Аннотации
Введение
Пометка устаревания
Проверка переопределения
Своя пометка
Элементы пометки
Значение по умолчанию
Место пометки
Срок хранения
Чтение пометки
Практика
Введение
Объект описания типа
Имя класса
Поля класса
Методы класса
Конструкторы
Создание объекта
Вызов метода
Чтение поля
Изменение поля
Чтение пометки
Практика
Введение
Подключение библиотеки
Запись в строку
Чтение из строки
Имя поля
Игнор поля
Вложенный объект
Список значений
Значение по умолчанию
Record
Несколько форм
Ошибки разбора
Практика
Введение
Универсальный момент
Длительность
Календарный период
Идентификатор пояса
Дата и время с поясом
Смена пояса
Шаблон записи
Разбор строки
Практика
Многопоточность
Введение
Создание потока
Запуск выполнения
Ожидание завершения
Пауза в потоке
Несколько потоков
Состояние потока
Прерывание работы
Фоновый поток
Практика
Введение
Пул рабочих потоков
Постановка задачи в пул
Контроль выполнения
Значение из задачи
Параллельные поручения
Запуск списка целиком
Конкурентный выбор
Завершение работы пула
Исключения в фоне
Практика
Введение
Асинхронный запуск
Получение результата
Преобразование thenApply
Действие thenAccept
Связка задач
Ожидание allOf
Ошибки и восстановление
Практика
Введение
Создание виртуального потока
Сборка и имя потока
Исполнитель для задач
Много ожидающих задач
Сравнение с платформенными
Практика
Введение
Состояние гонки
Синхронизированный метод
Синхронизированный блок
Замок
Попытка захвата
Повторно входящий замок
Семафор
Счетчик ожидания
Атомарные типы
Практика
Введение
Интерфейс очереди
Дек с двух концов
Очередь с приоритетом
Упорядоченное множество
Карта по ключам
Свой порядок сравнения
Неизменяемые фабрики
Обертки только для чтения
Вычисление значения в карте
Слияние значений в карте
Практика
Введение
Текст тега
Группа тегов
Атрибут
Атрибуты группы
Вложенный тег
Группа с вложенностью
Имя с дефисом
Сборка документа
Запись в файл
Практика
Введение
Чтение тела
Код статуса
Параметры адреса
Заголовки запроса
Заголовки ответа
Отправка формы
Переход по редиректу
Таймаут
Практика
Введение
Разбор тела
Один ресурс
Список
Идентификатор в пути
Параметры строки
Отправка JSON
Ключ доступа
Ошибочный ответ
Практика
Введение
Драйвер
Соединение
Создание таблицы
Вставка
Выборка
Параметры запроса
Условие выборки
Одна запись и пустой результат
Часть полей
Обновление
Удаление
Сортировка
Ограничение
Сводка
Группировка
Пустое поле
Транзакция
Ошибка запроса
Продвинутые запросы
Практика
Связывание таблиц
Внешний ключ
Один ко многим
Получение данных из связанных таблиц
Выборка связанных
Запись без пары
Цепочка связанных таблиц
Связывание через таблицу связи
Выборка через связь
Родственные связи
Несколько потомков
Двойная связь
Практика
Введение
Библиотека
Простое письмо
Тема и отправитель
Несколько получателей
Письмо с разметкой
Вложение
Ошибка отправки
Практика
Введение
Клиент
Сервер
Обмен в одном запуске
Несколько сообщений подряд
Закрытие соединения
Практика