Ein spezielles Konstrukt in Java, das es den Entwicklern ermöglicht, ein Plugin für einen Codeabschnitt zu erstellen, der beim Herunterfahren der Java Virtual Machine ausgeführt wird. Dies ist sehr notwendig, wenn wir während des Herunterfahrens Bereinigungsvorgänge durchführen müssen Das Herunterfahren der virtuellen Java-Maschine und das Herunterfahren der virtuellen Maschine aus Gründen wie dem Abbruch der Anforderung durch das Betriebssystem oder dem Ressourcenproblem können nicht mit allgemeinen Konstrukten gelöst werden, sondern können durch die Verwendung eines beliebigen Codeblocks gelöst werden, der durch das Herunterfahren bereitgestellt wird Hook und es ist eine Erweiterung der Klasse java.lang.Thread und die notwendige Logik wird während des Herunterfahrens der Java Virtual Machine in einer öffentlichen void run()-Methode bereitgestellt.
Starten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
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) { } } }
Die Ausgabe des obigen Programms ist wie im Schnappschuss unten dargestellt:
Im obigen Programm ist eine Klasse namens mthr definiert, die einen Thread erweitert. Dann wird eine Klasse namens Shutdown definiert. Dann wird die Hauptmethode aufgerufen. Anschließend wird eine Instanz der Java-Laufzeitklasse erstellt. Dann wird die Shutdown-Hook-Methode mithilfe der Instanz der Laufzeitklasse aufgerufen und die Instanz der Mythr-Klasse erstellt. Der Methoden-Shutdown-Hook bewirkt, dass die print-Anweisung in der Shutdown-Klasse gedruckt wird, gefolgt von der Anweisung in der run-Methode der mythr-Klasse. Die Ausgabe des Programms ist wie im Schnappschuss oben dargestellt.
Hier sind die folgenden Beispiele:
Java-Programm zur Demonstration der Verwendung des Shutdown-Hooks in einem Programm:
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 ..."); } }
Die Ausgabe des obigen Programms ist wie im Schnappschuss unten dargestellt:
Im obigen Programm ist eine zum Herunterfahren aufgerufene Klasse definiert. Dann wird die Hauptmethode aufgerufen. Anschließend wird eine Instanz der Java-Laufzeitklasse erstellt und ein neuer Thread-Konstruktor als Parameter an die Shutdown-Hook-Methode übergeben. Die Ausgabe des Programms ist im Schnappschuss oben dargestellt.
Java-Programm zur Demonstration der Verwendung des Shutdown-Hooks in einem Programm:
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(); } } }
Die Ausgabe des obigen Programms ist wie im Schnappschuss unten dargestellt:
Im obigen Programm ist eine Klasse durcheinander definiert, die einen Thread erweitert und diese Funktion aufgerufen wird, wenn das Programm beendet wird. Dann wird die Hauptmethode aufgerufen. Dann wird die Shutdown-Hook-Methode aufgerufen, an die die Instanz der Klasse mess als Parameter übergeben wird. Anschließend wird der Programmanfang ausgedruckt. Dann wird die Wartezeit für den Thread gedruckt. Anschließend wird das Ende des Programms ausgedruckt. Die Ausgabe des Programms ist wie im Schnappschuss oben dargestellt.
Der Java Shutdown Hook bietet mehrere Vorteile. Sie sind:
In diesem Tutorial verstehen wir das Konzept von Shutdown-Hooks in Java durch Definition, die Funktionsweise von Shutdown-Hooks in Java anhand von Beispielen und deren Ausgaben.
Das obige ist der detaillierte Inhalt vonJava-Shutdown-Hook. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!