JEP 232 RFR: JDK-8065942 and JDK-8056179
Sean Mullan
sean.mullan at oracle.com
Wed Jun 3 20:38:01 UTC 2015
This is the third and fourth in a series of fixes for JEP 232 (Improve
Secure Application Performance) [1].
webrev:
http://cr.openjdk.java.net/~mullan/webrevs/8065942-8056179/webrev.00/
bugs: https://bugs.openjdk.java.net/browse/JDK-8065942 and
https://bugs.openjdk.java.net/browse/JDK-8056179
This fix changes the Permissions and PermissionCollection subclasses to
use concurrent collections, which significantly reduces contention when
multiple threads are performing security checks. The bugs needed to be
fixed together, because removing the synchronized blocks in Permissions
revealed that several of the underlying PermissionCollection
implementations were not thread-safe.
Several new unit tests were also added to test basic functionality of
these classes.
With these fixes, the throughput of the Permissions.implies method
improves from approximately 6x to 10x when more than one thread is
running. Each of the bugs contains a performance chart with more details.
Thanks,
Sean
[1] http://openjdk.java.net/jeps/232
More information about the security-dev
mailing list