Alors, il faut savoir que la JVM elle-même est une application qui utilise différents threads donc à priori peut utiliser plusieurs coeurs même si ton programme est monothread. C'est l'OS qui gère comment il va répartir les threads entre les coeurs et on ne peut pas manipuler un "coeur" directement.