shutdownHooks RuntimePermission有什么作用?

时间:2010-03-24 17:43:55

标签: java security permissions

我看到要显示JOptionPane消息对话框,我需要shutdownHooks permition。 它有什么作用?将此权限授予第三方代码的可能风险是什么?

1 个答案:

答案 0 :(得分:1)

关闭挂钩是VM在退出之前(在所有非守护程序线程完成之后)将由VM运行的代码。该权限允许代码向VM注册其中一个挂钩(或取消注册现有挂钩)。该文档将潜在风险列为“这允许攻击者注册干扰虚拟机干净关闭的恶意关闭挂钩”。 (取自official documentation)。基本上代码可以破坏VM的正常终止。一些可能的示例导致它以不同于正常情况的返回代码退出,或导致VM挂起而根本不关闭。这就是说我不认为通常运行代码会带来很多风险,而且关闭钩子仍然受到SecurityManager的限制。