Что делает shutdownHooks RuntimePermission? - PullRequest
0 голосов
/ 24 марта 2010

Я видел, что для отображения диалогового окна сообщения JOptionPane мне нужно разрешение shutdownHooks. Что оно делает? И каков возможный риск дать это разрешение стороннему коду?

1 Ответ

1 голос
/ 24 марта 2010

Хук завершения работы - это код, который будет запускаться виртуальной машиной до ее выхода (после завершения всех потоков, не являющихся демонами). Это разрешение позволяет коду регистрировать одну из этих ловушек (или отменять регистрацию существующих ловушек) на виртуальной машине. В документации перечислены потенциальные риски: «Это позволяет злоумышленнику зарегистрировать злонамеренное завершение работы, которое мешает чистому завершению работы виртуальной машины». (взято из официальной документации ). В основном код сможет нарушить нормальное завершение виртуальной машины. Некоторые возможные примеры заставляют его выходить с кодом возврата, отличным от того, который он обычно делает, или заставляют виртуальную машину зависать, а не выключаться вообще. Тем не менее, я не думаю, что существует большой риск, кроме тех, которые представляют собой обычно выполняющийся код, а перехватчики завершения все еще должны быть объектом SecurityManager.

...