RFR 8151486 : Class.forName causes memory leak

Mandy Chung mandy.chung at oracle.com
Fri Oct 7 18:42:11 UTC 2016

> On Oct 7, 2016, at 11:25 AM, Brent Christian <brent.christian at oracle.com> wrote:
> On 10/5/16 4:43 PM, David Holmes wrote:
>>>> Okay but this will still affect the lifecycle of the PDs because
>>>> without the strong reference in L, those weak references in the VM
>>>> will quickly be cleared.
> There's also a strong reference held by the Class object itself (on the VM side [1]).

Yes this is the protection domain of the Class itself (i.e. PD associated with its code source) that was set when the class is defined.

> Thanks for having a look, folks.  I've applied Naoto and Mandy's suggestions for the test case and updated the webrev in place with what I plan to push.
> http://cr.openjdk.java.net/~bchristi/8151486/webrev.00/

It might be good to refactor System.getProperty("test.classes", ".”) as a static final field.  Otherwise looks good.

No need for a new webrev.


More information about the core-libs-dev mailing list