O código é:
class Teste {
static int i = 3;
public static void main(String[] a) {
for (new Teste().i = 10; new Teste().i < 100;
new Teste().i++) {
System.out.println(i);
}
}
}
O segundo argumento do laço for instancia um novo Teste().i em cada iteração. Mas, por isso, ele é sempre 3. E 3 é sempre menor que 100. Então toda validação retorna true porque new Teste().i nunca muda.
Como esse for não roda eternamente? O que eu não peguei aqui?