Wann muss ich diese Methode aufrufen Runtime.getRuntime (). AddShutdownHook ()
Wenn ich tatsächlich müssen diese Methode aufrufen, Laufzeit.getRuntime().addShutdownHook() und Wann oder warum muss ich Herunterfahren mein Antrag. Könnte jemand bitte erklären Sie mir dies, indem Sie einige Beispiel.
Dank
InformationsquelleAutor der Frage user965884 | 2012-01-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Soweit ich weiß, erkläre ich weiter unten. Sie können google es und finden Sie viel Informationen zu.
addShutdownHook()
registrieren einige Aktionen, die durchgeführt werden, wenn ein Programm beendet wurde. Das Programm, das Sie starten, endet auf zwei Arten:Wenn Sie einen ShutdownHook, der Haken, startet ein thread, der mit dem laufen beginnen zum Zeitpunkt der Kündigung nur. Zum Beispiel:
druckt eine
Running Shutdown Hook
zum Zeitpunkt der Beendigung des Programms an jedem beliebigen Punkt. Man könnte sogar sagen eineSystem.exit(0)
.Beispiele, können Sie google, es gibt genug von Ihnen. Und die Frage "Wann sollten Sie die Verwendung dieses", ist wie zu Fragen "Was will
catch
imtry-catch
statement".Haben Sie vielleicht viele Situationen wie:
All dies wird notwendig sein, damit einem gewissen Punkt der Zeit.
Beispiele können Sie hier Beispiel 1 oder Beispiel 2
InformationsquelleAutor der Antwort Kris
Sie sorgen sich nur um das Herunterfahren Haken, wenn Sie wollen, dass etwas geschieht, wenn ein Herunterfahren der virtuellen Maschine.
Vom Javadoc:
So ein shutdown hook ist ein initialisiert und nicht begonnenen thread, der ausgeführt wird, wenn eine JVM shutdown Auftritt.
Populäre Beispiele von shutdown-hooks existiert in application-Servern (z.B. JBoss AS). Wenn Sie die Taste Strg+C die JVM ruft alle
Runtime
shutdown-hooks registriert (wie JBoss shutdown-hooks) vor dem beenden.InformationsquelleAutor der Antwort Buhake Sindi
Einem Fall ist, Wenn du irgendwelche daemon-threads an, die gestoppt werden muss, bevor Sie in der jvm shutdown (oder) andere backend-threads (meist daemon threads) müssen ordnungsgemäß beendet, schreibst du shutdown-hook und führen Sie es über obigen code. Hier ist eine interessante Diskussion, hatten wir auf SO paar Tage her. Shutdown-hook
InformationsquelleAutor der Antwort kosa