Sobes.tech
Back to questions
Middle+
161

Что ты знаешь о загрязнении кучи (heap pollution)?

Answer from AI

sobes.tech AI

Загрязнение кучи (heap pollution) — это ситуация в Java, когда в параметризованный (generic) тип попадают объекты неподходящего типа из-за использования небезопасных операций с generics, особенно при приведениях типов.

Например, если использовать сырые типы (raw types) или небезопасные преобразования, компилятор не может гарантировать типобезопасность, и в рантайме может возникнуть ClassCastException.

Пример heap pollution:

List rawList = new ArrayList<String>(); // сырой тип
rawList.add(10); // компилятор не ругается
List<String> stringList = rawList; // heap pollution
String s = stringList.get(0); // ClassCastException в рантайме

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