Hi there. I noticed that my application is slow. I've decided to analyze GC logs and Heap dump. All of a sudden I got this:
It starts from TaskThread which holds JRVerticalFiller, that one holds JasperPrint, from JasperPrint hand - Collections.synchronizedList(pages), these objects are JRTemplatePrintText.
Here is a gc roots from TaskThread to Object (this Object in ArrayList)
NOTE: I am using JRGzipVizualizer.
Actually I don't understand why TaskThread is still alive and why so many objects are created.
JRVerticalFiller took 3.6GB of 4GB heap memory.