On Thu, 13 Jan 2022 10:02:04 GMT, Andrey Turbanov <d...@openjdk.java.net> wrote:

>> Roman Kennke has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   Remove obsolete comment
>
> src/java.base/share/classes/java/lang/Thread.java line 1671:
> 
>> 1669:     /** cache of subclass security audit results */
>> 1670:     /* Replace with ConcurrentReferenceHashMap when/if it appears in a 
>> future
>> 1671:      * release */
> 
> Is it still desirable to use `ConcurrentReferenceHashMap` as suggested in 
> comment? Or ClassValue is better choice?

Hmm, no. The use of Reference here is to avoid strong binding to the Class key. 
However, we have seen weird interferences in ObjectStreamClass (see 
JDK-8277072) between this mechanism and class-unloading which prevents 
unloading the class sometimes (or at least, absent memory pressure that would 
trigger the GC to reclaim soft references). This code here in Thread.java is 
probably not affected by this problem, but ClassValue is still the cleaner way 
to establish a mapping between a Class and some value. I have removed the 
comment.

-------------

PR: https://git.openjdk.java.net/jdk/pull/7054

Reply via email to