It seems that there exists a memory/performance regression that was introduced with JDK-8210985: Update the default SSL session cache size to 20480.
The idea to limit the maixmum SSL session cache size by itself is good. Unfortunately, as per the current implementation of sun.security.util.MemoryCache, it also modifies the initial size of the LinkedHashMap that is backing the cache to initialize with more than the maximum size. I suggest to restore the original behavior that initializes with an initialCapacity of 1 in most cases. That was true when before JDK-8210985, the property javax.net.ssl.sessionCacheSize was not set at all. In case it was set, the initial size would have been like now, (javax.net.ssl.sessionCacheSize / 0.75f) + 1, which still seems strange. ------------- Commit messages: - Copyright year - JDK-8255603: Memory/Performance regression after JDK-8210985 Changes: https://git.openjdk.java.net/jdk/pull/937/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=937&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8255603 Stats: 3 lines in 1 file changed: 0 ins; 1 del; 2 mod Patch: https://git.openjdk.java.net/jdk/pull/937.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/937/head:pull/937 PR: https://git.openjdk.java.net/jdk/pull/937