[ 
https://issues.apache.org/jira/browse/GROOVY-8199?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16021339#comment-16021339
 ] 

Jochen Theodorou commented on GROOVY-8199:
------------------------------------------

Just to get a summary here somehow and to refresh my memory... The problem 
basically was that ClassValue references the class it was made for. This 
prevents the unloading of that class basically forever. This got resolved by 
using a WeakReference, which is used by ClassInfo for classRef, which is the 
computed value of the ClassValue. The WeakReference ensure we break through the 
circular reference problem and everything can be collected again.

Is this a halfway correct summary?

> Re-enable use of ClassValue for all JDKs
> ----------------------------------------
>
>                 Key: GROOVY-8199
>                 URL: https://issues.apache.org/jira/browse/GROOVY-8199
>             Project: Groovy
>          Issue Type: Task
>    Affects Versions: 3.x, 2.5.0-alpha-1, 2.4.11
>            Reporter: Jochen Kemnade
>              Labels: patch
>         Attachments: 
> 2.4.x-0001-GROOVY-8199-GROOVY-7591-GROOVY-7683-remove-groovy.us.patch, 
> master-0001-GROOVY-8199-GROOVY-7591-GROOVY-7683-remove-groovy.us.patch
>
>
> For GROOVY-7591, the {{groovy.use.classvalue}} system property was 
> introduced. Since the underlying issue (GROOVY-7683) is fixed, the property 
> should be removed again.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to