System.getSecurityManager(); 侵立删

今天读动态代理是遇到的代码,从网上查了一下,在这里做一下标记

final SecurityManager sm = System.getSecurityManager();

if (sm !=null) {

            checkProxyAccess(Reflection.getCallerClass(), loader, intfs);

}

这是JAVA安全管理器SecurityManager

当运行未知的Java程序的时候,该程序可能有恶意代码(删除系统文件、重启系统等),为了防止运行恶意代码对系统产生影响,需要对运行的代码的权限进行控制,这时候就要启用Java安全管理器。

可以通过参数方式启动(可以指定配置文件,不写就不指定)
-Djava.security.manager -Djava.security.policy="E:/java.policy"
或者代码方式启动
System.setSecurityManager(new SecurityManager())

posted @ 2021-03-24 18:47  忆尘不散  阅读(305)  评论(0)    收藏  举报