Se aggiungo un gancio arresto al tempo di esecuzione del mio programma Java in questo modo:Quando Ganci arresto rompere le cattive
public class MyShutdownHook implements Runnable
{
@Override
public void run()
{
// Stuff I want executed anytime
// the program, Java, or the OS exits normally,
// crashes, or terminates unexpectedly for any reason.
}
}
// The in another method...
Runtime.getRuntime().addShutdownHook(new MyShutdownHook());
... poi ci sono mai eventuali situazioni in cui tale metodo run()
non eseguirà quando il programma/Java/OS esce normalmente, si blocca o si interrompe in modo imprevisto? In tal caso, quali situazioni sarebbero in grado di aggirare il gancio di arresto di Runtime
e perché?
Mai sconto la possibilità di un attacco nucleare sul tuo computer. –
chiedi maggiori informazioni oltre alla descrizione di javadoc di come funziona? –
@ Mark Peters::) scherzo divertente ... Ma non dimenticare che * SIGKILL * praticamente * è * un waepon atomico;) Sia su Linux che su OS X (due nomi solo due Un * x-like comunemente usati dagli sviluppatori) un * kill -9 * è * garantito * per uccidere istantaneamente il processo e rilasciare le sue risorse, senza fare domande. No * ShutDownHook *. No niente. Ora sono d'accordo: un processo Java non vedrà alcuna differenza tra un * kill -9 * e un attacco nucleare; – TacticalCoder