Se vuoi sfruttare i più core disponibili su una macchina devi progettare il tuo software per lavorare con più thread, cosa che ovviamente Java supporta (ma occhio che lavorare con più thread è spesso un gran casino).