System.getSecurityManager();

学习AOP动态代理源码的时候,看到了这么一行代码,记录一下

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());

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。