[
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)