ReferenceQueue.remove to allow GC of the queue itself

Jaroslav Tulach jaroslav.tulach at oracle.com
Mon Jul 28 07:23:55 UTC 2014


Thanks for your reply.

Dne Pá 25. července 2014 12:45:02, Brian Goetz napsal(a):
> So, let’s start with the problem, rather than the solution.  

That is always better start.

> Could you start
> with writing up what issue you’re trying to address, 

I believe I did that in the issue description. For easier accessibility I am copying the 
text here:

-----

NetBeans APIs offer an "active" reference queue[1] which is automatically cleaned by 
one dedicated NetBeans thread. Once we got a bug report[2] that it behaves poorly 
when used inside of a WAR file. Whenever the WAR was redeployed, the number of 
cleanup threads increased by one, which also caused major memory leaks. We fixed 
that with a bit of reflection (nasty, of course). The fix worked OK, up 
until JDK-6853696[1] got fixed - the JDK-6853696 fix broke our assumptions, so now 
NetBeans is significantly broken on JDK9. I can either come up with another reflective 
trick[3] or be constructive and improve JDK to offer the functionality we need. This 
issue is my attempt to propose such JDK change.  
[1] http://bits.netbeans.org/8.0/javadoc/org-openide-util/org/openide/util/Utilities.html#activeReferenceQueue()[2]  
[2] https://netbeans.org/bugzilla/show_bug.cgi?id=206621[3]  
[3] https://netbeans.org/bugzilla/show_bug.cgi?id=245732[4]

---

I am ready to provide all necessary details. I am however afraid that doing that over 
email may turn inefficient. Some iterative, question/answer, style may get us closer to 
mutual understanding.

-jt

> and then we can
> proceed to evaluating whether the proposed solution is the right one?
> On Jul 24, 2014, at 7:29 AM, Jaroslav Tulach <jaroslav.tulach at oracle.com> wrote:
> > Hi.
> > I'd like to add one new method into java.lang.ref.ReferenceQueue. Can
> > anyone help me go through the review process? I've reported
> > https://bugs.openjdk.java.net/browse/JDK-8051843
> > but that probably is not enough, right?
> > 
> > Thanks in advance for your help.
> > -jt


--------
[1] https://bugs.openjdk.java.net/browse/JDK-6853696
[2] http://bits.netbeans.org/8.0/javadoc/org-openide-util/org/openide/util/Utilities.html#activeReferenceQueue()
[3] https://netbeans.org/bugzilla/show_bug.cgi?id=206621
[4] https://netbeans.org/bugzilla/show_bug.cgi?id=245732



More information about the core-libs-dev mailing list