Как правильно использовать java.lang.Terminator? - PullRequest
3 голосов
/ 01 июня 2010
  • Что именно делает этот класс?

  • Что такое «отключение при срабатывании»?

  • Где вы использовали это в своей программе или что может быть хорошим вариантом использования для этого класса?

Ответы [ 3 ]

6 голосов
/ 01 июня 2010

Получая ваши очки по одному:

  • Что делает этот класс? Он обрабатывает сигналы завершения, полученные из операционной системы.

  • Что такое "отключение при срабатывании"? Завершение работы JVM, вызванное тем, что операционная система отправила сигнал процессу Java, например, когда вы выключаете компьютер.

  • Как это можно использовать? Он не предназначен для использования в ваших программах, поскольку является частным пакетом и используется самой JVM для обработки сигналов завершения, полученных из операционной системы.

2 голосов
/ 01 июня 2010

Это частный пакет, так что вы не должны его использовать. Лучше посмотрите на http://java.sun.com/j2se/1.4.2/docs/guide/lang/hook-design.html, если вы хотите выполнить код при завершении работы.

1 голос
/ 01 июня 2010

Регистрирует обработчики сигналов для HUP (зависание), INT (прерывание) и TERM (завершение) (см. Список сигналов ). Он закрывает приложение, вызывая System.exit () со значением sig.getNumber () + 128, то есть 1 + 128 = 129 (HUP), 2 + 128 = 130 (INT), 15 + 128 = 143 (TERM ). Таким образом, всякий раз, когда вы получаете одно из этих значений выхода, вы знаете, что приложение было закрыто Terminator после получения одного из этих сигналов от ОС. Обратите внимание, что KILL обрабатывается операционной системой напрямую.

Это внутренний класс, следовательно, нет сценария использования.

...