Один из вариантов может быть, вместо того, чтобы пустой цикл while работать бесконечно, вы можете получить пользовательский ввод, используя сканер внутри while, как показано ниже,
Scanner scanner = new Scanner (System.in);
boolean run = true;
while(run) {
String userIP = scanner.next();
if(userIP.equals("exit"))
run = false;
}
Приведенный выше код не будет запускать цикл бесконечно(что, возможно, повлияло на производительность), вместо этого запустите и ожидает ввода пользователя в консоли.Я не делал никакого сравнения производительности, но по логике должен быть лучше, чем бесконечный цикл.