java.security.AccessController

This is used for access control on resources that may be available at run-time. SquirrelJME has two levels of access control, one that is defined at the VM level which is checked first and then there is the application level policy which may be set with system properties. If a permission is denied at the VM level then it will be denied even if the application level property permits this, this is to prevent policies being broken by the application. The first level of control is using the {@link RuntimeShelf#vmDescription(int)} with {@link VMDescriptionType#VM_SECURITY_POLICY}. If a permission is ultimately denied by this level of the policy then the permission check will fail. The other level of control is with the system property {@code cc.squirreljme.policy} which is in the same format. Compared to Java SE, SquirrelJME uses a more simplified security policy format that while more limited is simpler to write.