【发布时间】:2016-03-05 09:54:39
【问题描述】:
据了解,可以使用反射来操纵 final 关键字的一般概念。
也可以使用安全管理器来防止这种情况发生。
是否可以默认启用安全管理器(在 jdk 安装级别)?
参考资料:
- Change private static final field using Java reflection
- Running Java Security Manager without the default java.policy file
更新 1:
鉴于它需要启用才能工作,它不太可能。
我得到的最接近的方法是将System.setSecurityManager(new SecurityManager()) 放置在类的静态块中,将其捆绑为 jar 并将其放置在 'jre/lib/ext' 中,结果发现它默认未加载,我们仍然需要使用 Class.forName。
因此,即便如此,唯一的选择是使用-Djava.security.manager 标志或以编程方式添加。
【问题讨论】:
标签: java securitymanager