Java shutdownHooks RuntimePermission做什么?

Java shutdownHooks RuntimePermission做什么?,java,security,permissions,Java,Security,Permissions,我看到,要显示JOptionPane消息对话框,我需要shutdownHooks许可。 它有什么作用?将此权限授予第三方代码可能有什么风险?关闭挂钩是VM在退出之前(在所有非守护进程线程完成之后)运行的代码。该权限允许代码向VM注册其中一个钩子(或注销现有钩子)。文档列出了潜在的风险,如“这允许攻击者注册恶意关闭挂钩,干扰虚拟机的干净关闭。”(摘自)。基本上,代码将能够中断VM的正常终止。一些可能的例子是导致它退出时返回一个与正常情况不同的返回代码,或者导致VM挂起而根本不关闭。也就是说,我认为

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

关闭挂钩是VM在退出之前(在所有非守护进程线程完成之后)运行的代码。该权限允许代码向VM注册其中一个钩子(或注销现有钩子)。文档列出了潜在的风险,如“这允许攻击者注册恶意关闭挂钩,干扰虚拟机的干净关闭。”(摘自)。基本上,代码将能够中断VM的正常终止。一些可能的例子是导致它退出时返回一个与正常情况不同的返回代码,或者导致VM挂起而根本不关闭。也就是说,我认为除了正常运行的代码会带来的风险之外,不会有太多风险,关闭挂钩仍然受SecurityManager的约束