JVM可以通过java.security.Policy的实例化对象根据代码的来源和其签名者来为其指定不同的权限。在任何时候只能有一个起作用。当前安装的Policy对象,在程序中可以通过调用Policy.getPolicy()方法得到,也可以通过调用Policy.setPolicy()方法改变。Policy对象评估整个策略,返回一个适当的Permissions对象,详细说明那些代码可以访问那些资源。系统默认使用的Policy对象是java.security.Policy的子类sun.security.provider.PolicyFile的实例化对象。为了方便,JVM提供了把由Policy文件来定制Policy对象的功能。sun.security.provider.PolicyFile是根据配置文件中指定的策略来实现进行代码权限的管理。对于这种配置文件,我们称之为JAVA策略文件。