Лямбда выражения в Java. Сравнение подходов решения задач.

lambda

В версию Java 8 была добавлена полноценная поддержка лямбда-выражений — специализированного синтаксиса, позволяющего определить функциональные объекты из формальной системы исчислений λ. Являясь упрощенным вариантом записи безымянных классов, лямбда в Java дает возможность писать более аккуратный и лаконичный программный код для библиотеки Stream API и утилитарного класса Optional. Помимо стандартных коллекций классов, лямбда выражения Java могут использоваться сторонними API: реактивные стримы, JavaFX и т.д. Определение функциональных интерфейсов и лямбда-выражений Лямбда выражения в Java представляют собой специализированный синтаксис записи безымянного класса, с помощью которого реализуется основной функциональный интерфейс. Функциональный интерфейс, встроенный в…

Read More

Immutable объекты в Java. Назначение и использование.

Stonehenge

Что такое immutable объекты в Java Это многофункциональные immutable (неизменяемые) объекты, которые можно применять в разных частях программы. Например, это могут быть неизменяемые объекты в многопоточной среде для работы с данными. Также это могут быть сложные константы, которые помогают избежать излишнего использования памяти и перегрузки сборщика мусора (garbage collector). Отдельно стоит упомянуть иммутабельность при работе с коллекциями. Основные параметры имутабельных классов (immutable classes) Для того чтобы сказать, что класс является immutable (неизменяемым) он должен соотвествовать следующим критериям: Не предоставляйте методы, которые модифицируют состояние объекта. Такие методы могут напрямую модифировать состояние…

Read More