TGViewer
Java Portal | Программирование Java Portal | Программирование @java_iibrary · 11.6K subscribers
Post #1949 2.63K
Java хотела добавить лямбды, но при этом не поломать JVM и не переписывать двадцатилетние API.

Решение? Сделать вид, что в Java есть функции первого класса, используя то, что уже было: интерфейсы с единственным абстрактным методом.

Так появились функциональные интерфейсы.

@FunctionalInterface
interface Operation {
int apply(int x, int y);
}

Operation add = (a, b) -> a + b;

System.out.println(add.apply(3, 4)); // 7


Кажется, что ты передаешь функцию... но нет.

Компилятор создаёт экземпляр Operation.

В Java нет "свободных" функций, как в JavaScript или Kotlin.

Сейчас это используется даже со старыми классами языка.

Например, Runnable существует ещё с Java 1.0 и содержит всего один метод run.

Когда в Java 8 завезли лямбды, стало можно писать так:

new Thread(() -> System.out.println("Hello from a thread")).start();


И старый конструктор Thread(Runnable r) продолжил работать без изменения ни одной строки оригинального API.

Именно это позволило не сломать экосистему и сохранить стабильность, за которую Java так ценят.

👉 Java Portal
  • ❤ 14
  • 👍 3
  • 🔥 2
More from @java_iibrary
  1. Sep 28, 2026Проблема в продакшене. Приложение зависло. Вы запускаете: jstack <pid> Через несколько сек…
  2. Sep 27, 2026Java-разработчики, CopyOnWriteArrayList создаёт копию всего внутреннего массива при каждом…
  3. Sep 27, 2026Java-разработчики, ConcurrentHashMap потокобезопасен. Но он не блокирует всю коллекцию при…
  4. Sep 26, 2026Во многих приложениях есть такой эндпоинт. Фронтенд удаляет JWT после того, как пользовате…
  5. Sep 26, 2026Java: используйте Deque вместо Stack для работы по принципу LIFO («последним пришёл — перв…
  6. Sep 25, 2026Каждый Java-разработчик использует HashMap. Но задумывались ли вы… Почему его ёмкость всег…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →