Czy istnieje sposób na uzyskanie powiadomienia o zamknięciu JVM lub wywołaniu System.exit przed faktycznym zamknięciem? Chcę tego, więc moja aplikacja będzie w stanie zrobić czyste wyjście. Zdaję sobie sprawę, że takie rzeczy raczej nie istnieją, ale może jest coś takiego?Przechwytywanie przechwytywania połączenia z maszyną Java?
5
A
Odpowiedz
11
Wystarczy popatrzeć na Runtime.addShutdownHook
Od docs API:
Maszyna wirtualna Java zamyka w odpowiedzi na dwa rodzaje zdarzeń:
- Program zakończy się normalnie, gdy ostatni wątek nie będący demonem zostanie zamknięty lub gdy zostanie wywołana metoda exit (równoważnie metoda System.exit) lub
- Maszyna wirtualna zostanie zakończona w odpowiedzi na przerwanie przez użytkownika, na przykład przez wpisanie^C lub przez system dla całego zdarzenia, na przykład wylogowanie użytkownika lub zamknięcie systemu.
Za pomocą Runtime.addShutdownHook
można uruchomić kod w tych przypadkach.
3
Istnieje metoda, którą można zbadać.
Powiązane problemy
- 1. Przechwytywanie przechwytywania C++ zostało zainicjowane?
- 2. Przechwytywanie przechwytywania hibernacji/nasłuchiwania dla HQL
- 3. Java - Przechwytywanie System.out.println lub Przechwytywanie PrintStream
- 4. Szybkie przechwytywanie ekranu Java
- 5. Grupa przechwytywania java regex
- 6. Regex Java zastępuje grupę przechwytywania
- 7. Przechwytywanie typ rodzajowy w Java
- 8. Okno przechodzenia z przechwytywania
- 9. Błąd połączenia z Oracle DB z Java
- 10. Java JDBC stan połączenia
- 11. Utrzymywanie połączenia Java Bluetooth
- 12. Wykrywanie utraconego połączenia Java
- 13. Przechwytywanie dźwięku systemowego z przeglądarki
- 14. Zagadnienia przechwytywanie filtry Wireshark
- 15. Przechwytywanie pakietów w RDMA?
- 16. Przechwytywanie zapytań GWT RequestFactory
- 17. Komponent przeglądarki plików dla przechwytywania Java
- 18. Przechwytywanie "oryginalnej" wartości zwracanej z-out-str
- 19. Przechwytywanie ekranu Android i tworzenie wideo programowo
- 20. przechwytywanie ekranu połączenia przychodzącego systemu operacyjnego Android i zastępowanie
- 21. konfiguracja połączenia HTTP z aplikacji Java
- 22. Edit przechwytywania kontrola enter
- 23. Przechwytywanie danych binarnych z Process.StandardOutput
- 24. Przechwytywanie ekranu apletu Java do wideo
- 25. Przechwytywanie na poziomie metod z paramami
- 26. C# Przechwytywanie Direct 3D Ekran
- 27. Perl DBI - przechwytywanie błędów
- 28. Przykład Bubbling i przechwytywania w React.js
- 29. przechwytywanie grupy z sed
- 30. Ustawienie Java Heap Size nie działa z 256-bitową pamięcią RAM 64-bitową maszyną
Brawo! Naprawdę mi pomogłeś! – Rogach