Une construction spéciale en Java qui permet aux développeurs de créer un plugin d'un morceau de code qui sera exécuté lors de l'arrêt de la machine virtuelle Java et cela est très nécessaire lorsque nous devons effectuer des opérations de nettoyage lors de l'arrêt l'arrêt de la machine virtuelle Java et l'arrêt de la machine virtuelle pour des raisons telles que la suppression de la requête par le système d'exploitation ou le problème des ressources ne peuvent pas être résolus à l'aide de constructions générales mais peuvent être résolus en utilisant un bloc de code arbitraire fourni par l'arrêt hook et c'est une extension de la classe java.lang.Thread et la logique nécessaire est fournie dans une méthode public void run() lors de l'arrêt de la machine virtuelle Java.
Commencez votre cours de développement de logiciels libres
Développement Web, langages de programmation, tests de logiciels et autres
Code :
//a class called mythr is defined and it extends a thread class MyThr extends Thread { public void run() { System.out.println("The task of shut down hook is completed"); } } <em>//a class called shutdown is defined</em> public class Shutdown { <em>//main method is called</em> public static void main(String[] args)throws Exception { <em>//an instance of java runtime class is created</em> Runtime roll=Runtime.getRuntime(); <em>//shutdown hook method is called using the instance of runtime class and the instance of mythr class is created</em> roll.addShutdownHook(new MyThr()); System.out.println("The main starts to sleep. Press control and c to exit"); try { Thread.sleep(3000); } catch (Exception e) { } } }
Le résultat du programme ci-dessus est tel qu'indiqué dans l'instantané ci-dessous :
Dans le programme ci-dessus, une classe appelée mthr est définie et étend un thread. Ensuite, une classe appelée shutdown est définie. Ensuite, la méthode principale est appelée. Ensuite, une instance de la classe d'exécution Java est créée. Ensuite, la méthode du hook d'arrêt est appelée à l'aide de l'instance de la classe d'exécution et l'instance de la classe mythr est créée. Le hook d'arrêt de la méthode entraîne l'impression de l'instruction print de la classe shutdown, suivie de l'instruction de la méthode run de la classe mythr. Le résultat du programme est tel qu'indiqué dans l'instantané ci-dessus.
Voici les exemples suivants mentionnés ci-dessous :
Programme Java pour démontrer l'utilisation du hook d'arrêt dans un programme :
Code :
//a class called shutdown is defined public class ShutDown { //main method is called public static void main(String[] args) { //an instance of java runtime class is created and a new thread constructor is passed as a parameter to shutdown hook method Runtime.getRuntime().addShutdownHook(new Thread() { public void run() { System.out.println("the shut down hook is in progress !"); } }); System.out.println("Termination of application ..."); } }
Le résultat du programme ci-dessus est tel qu'indiqué dans l'instantané ci-dessous :
Dans le programme ci-dessus, une classe appelée pour s'arrêter est définie. Ensuite, la méthode principale est appelée. Ensuite, une instance de la classe d'exécution Java est créée et un nouveau constructeur de thread est transmis en tant que paramètre à la méthode de hook d'arrêt. La sortie du programme est affichée dans l'instantané ci-dessus.
Programme Java pour démontrer l'utilisation du hook d'arrêt dans un programme :
Code :
//a class called demo is defined public class Demo { // a class called mess is defined and it extends a thread and this function is called when the program is exiting static class Mess extends Thread { public void run() { System.out.println("Good Bye."); } } //main method is called public static void main(String[] args) { try { //shutdown hook method is called to which the instance of the class mess is passed as a parameter Runtime.getRuntime().addShutdownHook(new Mess()); // the beginning of the program is printed System.out.println("Beginning of the program..."); // the wait time for the thread is printed System.out.println("The wait time for the thread is three seconds..."); Thread.sleep(3000); //Ending of the program is printed System.out.println("Ending of the program..."); } catch (Exception e) { e.printStackTrace(); } } }
Le résultat du programme ci-dessus est tel qu'indiqué dans l'instantané ci-dessous :
Dans le programme ci-dessus, un désordre de classe est défini, et il étend un thread et cette fonction est appelée lorsque le programme se termine. Ensuite, la méthode principale est appelée. Ensuite, la méthode de hook d'arrêt est appelée à laquelle l'instance de la classe mess est passée en paramètre. Ensuite, le début du programme est imprimé. Ensuite, le temps d'attente pour le fil est imprimé. Ensuite, la fin du programme est imprimée. Le résultat du programme est tel qu'indiqué dans l'instantané ci-dessus.
Le hook d'arrêt Java présente plusieurs avantages. Ce sont :
Dans ce tutoriel, nous comprenons le concept des hooks d'arrêt en Java à travers la définition, le fonctionnement des hooks d'arrêt en Java à travers des exemples et leurs sorties.
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!