Maison  >  Article  >  Java  >  Quand est-il nécessaire d'appeler « System.exit » en Java ?

Quand est-il nécessaire d'appeler « System.exit » en Java ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-16 07:01:02825parcourir

When is it Necessary to Call `System.exit` in Java?

Quand est-il nécessaire d'appeler System.exit en Java ?

Dans l'extrait de code fourni :

public class TestExit {
    public static void main(String[] args) {
        System.out.println("hello world");

        System.exit(0); // is it necessary? And when it must be called?
    }
}

la méthode System.exit est utilisée pour terminer explicitement le programme Java.

Objectif de System.exit

L'objectif principal de System.exit est de déclencher une opération contrôlée arrêt de la machine virtuelle Java (JVM). L'appel de System.exit effectue les opérations suivantes :

  • Termine tous les threads non-démons.
  • Déclenche l'exécution des hooks d'arrêt enregistrés.
  • Libère les ressources détenues par la JVM , tels que les descripteurs de fichiers et les connexions réseau.

Quand appeler System.exit

En général, il n'est pas nécessaire d'appeler System.exit en Java programmes. La JVM se terminera automatiquement lorsque la méthode principale reviendra ou lorsque tous les threads non démons auront fini de s'exécuter.

Cependant, il existe certains scénarios dans lesquels l'appel de System.exit est utile, voire nécessaire :

  • Induire un arrêt immédiat : Lorsque vous souhaitez terminer le programme brusquement, quel que soit l'état des threads non démons.
  • Utiliser des hooks d'arrêt : Lorsque vous devez enregistrer des hooks d'arrêt pour effectuer des tâches de nettoyage spécifiques avant la fermeture du programme. Ces hooks sont déclenchés par System.exit.

Signification de "Cette méthode ne revient jamais normalement."

La documentation indique que System.exit "Cette méthode ne revient jamais normalement. Cela signifie qu'une fois la méthode appelée, le thread qui l'a appelée ne peut pas continuer son exécution et quitte toujours la JVM.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn