5 месяцев назад
🧠 Продвинутая задача Java — Невидимая утечка памяти в лямбдах
🧠 Продвинутая задача Java — Невидимая утечка памяти в лямбдах Задача: Предположим, вы пишете сервис, в котором создаются задачи (например, отложенные действия): public class TaskScheduler { private final List<Runnable> tasks = new ArrayList<>(); public void scheduleTask(String name) { String largeData = name.repeat(10_000); // имитируем большой объект tasks.add(() -> { System.out.println("Running task: " + name); }); } public void runAll() { tasks.forEach(Runnable::run); } } Теперь создайте 1_000_000 таких задач: TaskScheduler scheduler = new TaskScheduler(); for (int i = 0; i < 1_000_000; i++) { scheduler...