> On May 19, 2015, at 11:51 PM, Dmitry Samersoff <dmitry.samers...@oracle.com> > wrote: > > Other alternatives could be to do all hashing/sorting/printing on native > layer i.e. implement printFinalizationQueue inside VM. > > Both options has pros and cons - Java based solution requires less JNI > calls and better readable but takes more memory. > > It might be better to return an array of Map.Entry<String, int[]> > objects to VM rather than one huge string.
The output and formatting should be done by jcmd. What you really need to get a peek on the finalizer queue and print the histogram. The VM has the heap histogram implementation. Have you considered leveraging that? 5: 1012 40480 java.lang.ref.Finalizer You can find the registered Finalizer instances. The downside is that icmd -finalizerinfo stops the world. I think it’s not unreasonable for this diagnostic command to be expensive like -heap command. Mandy