Java SecurityManager checkExit()方法与示例

SecurityManager类checkExit()方法

  • checkExit()方法在java.lang包中可用。

  • checkExit()方法使用RuntimePermission(“ exitVM” +“ exit_status”)调用checkPermission,当给定参数值为0时成功退出,否则当给定参数值不等于0时成功退出。

  • checkExit()方法是一种非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。

  • 在线程终止时,checkExit()方法可能会引发异常。
    SecurityException-如果不允许调用线程以给定状态停止JVM,并且使用exit()Runtime方法为当前的安全管理器调用此异常,则可能引发此异常。

语法:

    public void checkExit(int exit_status);

参数:

  • int exit_status –表示线程的退出状态。

返回值:

此方法的返回类型为void,不返回任何内容。

示例

//Java程序演示示例 
//void checkExit(int exit_status)
//SecurityManager的方法 

public class CheckExit extends SecurityManager {
    //覆盖checkExit()SecurityManager-
    public void checkExit(int exit_status) {
        throw new SecurityException("Restricted.. ");
    }

    public static void main(String[] args) {
        //通过使用setProperty()方法是设置策略属性 
        //与安全经理
        System.setProperty("java.security.policy", "file:/C:/java.policy");

        //实例化SecurityManager对象
        SecurityManager smgr = new SecurityManager();

        //通过使用setSecurityManager()方法是设置
        //安全经理
        System.setSecurityManager(smgr);

        //通过使用checkExit(4)方法可以退出
        //用整数值处理
        smgr.checkExit(4);

        //显示消息
        System.out.println("Not Restricted..");
    }
}

输出结果

Not Restricted..