The modern Java platform includes performance improvements when running applications with a security manager installed. Security managers can result in processing overhead and less than ideal application performance.
This is an impressive undertaking, as current CPU overhead when running security managers is estimated to result in 10-15 percent performance degradation. It is not feasible to completely remove the CPU overhead, as some CPU processing is required to run the security manager. That being said, the goal was to decrease the overhead percentage as much as possible.
This effort resulted in the following optimizations, with each detailed in the subsequent sections:
- Security policy enforcement
- Permission evaluation
- Hash code
- Package checking algorithm