Vou agora propôr uma brincadeira com quem ler este post.
Quem consegue abrir e fechar mais prompts de comando do windows, usando java? Use o seguinte código:
public static void main (){
ArrayList<Process> cmdProcess = new ArrayList<Process>();
// Abrindo os processos:
for(int i=0; i < 100000; i++){
cmdProcess.add(Runtime.getRuntime().exec("cmd.exe"));
System.out.println("Quantidade de Processos abertos: "+ i );
}
// Fechando os processos:
for(Process p: cmdProcess){
p.destroy();
}
}
Eu consegui na minha máquina do trabalho, 3964 processos abertos até o computador estilar e parar tudo. Quanto será que a sua máquina consegue?
Agora, é possível obter muito mais. Quando for iniciar o programa, ao invés de usar a JVM com as opções padrão, use as opções: -XX:+AggressiveOpts -XX:+AggressiveHeap
Aqui, isso conseguiu rodar o programa sem problemas, o que significa que eu conseguiria abrir mais de 10000 processos, que já é bem mais próximo do limite do Windows XP (~22000)
então, mãos à obra!!