Обратите внимание, что в этом коде:
int count= 0;
do
{
NAME.add("Tom");
} while ( count < 2);
Вы никогда не измените значение count
в любом месте, и поэтому этот цикл будет выполняться постоянно. Если вы измените код так, чтобы вы каким-то образом изменили count
(возможно, используя цикл for
для подсчета в сторону увеличения), это должно исчезнуть. JVM, вероятно, исчерпывает пространство кучи, добавляя в коллекцию как можно больше копий Tom
, что в конечном итоге приводит к исчерпанию доступной памяти.