RFR: 8214712: Archive Attributes$Name.KNOWN_NAMES

Claes Redestad claes.redestad at oracle.com
Sat Mar 16 00:43:28 UTC 2019



On 2019-03-15 19:06, Peter Levart wrote:
> On 3/15/19 5:14 PM, Claes Redestad wrote:
>> Hi Peter,
>>
>> thanks for reviewing!
>>
>> Interning arbitrary attribute names might have some unfortunate side-
>> effects, 
> 
> You mean if the number of different names would get larger and larger on 
> a long-running JVM, the cache would grow without bounds?

Yes.

> 
> I noticed that the Name constructor:
> 
>          public Name(String name) {
>              this.hashCode = hash(name);
>              this.name = name.intern();
>          }
> 
> ...interns the String name. Do interned strings have a weak cache or are 
> they kept for the entire life of JVM?

I think you can think of them as only weakly referenced by the VM, so
yes, they will be GCd if no-one keeps them alive.

/Claes


More information about the core-libs-dev mailing list