On 5/12/16 11:44 AM, Mandy Chung wrote:
This patch looks good.
To help future readers to understand this, it may be better to move: 1152 private transient ConcurrentHashMap<Object, Object> map = 1153 new ConcurrentHashMap<>(8);
to the beginning and add a comment describing what are lock-free and what are synchronized (basically some part of your summary below).
Also a comment in Hashtable::defaultWriteHashtable and readHashtable methods to mention that they are overridden by Properties.
Good ideas.
In the GetResource.java test, what is the reason taking out: 73 URL u2 = Thread.currentThread().getContextClassLoader().getResource("sun/util/resources/CalendarData.class”);
It was coming back null and failing the test, I think because Jigsaw moved CalendarData into a different module (jdk.localedata, I believe?). I fiddled with @modules a bit, but stopped when I discovered that when the test deadlocks, it hangs on the first call to getResource() and doesn't get to this line. I can look into getting it to load CalendarData again, if you like. Thanks, -Brent