I'm troubleshuting the RAM usage of jasper library (using jmap -histo) and realize that there are so many instances of JRTemplatePrintText, SimpleTextFormat and JRTemplatePrintFrame:
num #instances #bytes class name
----------------------------------------------
1: 7034450 844134000 net.sf.jasperreports.engine.fill.JRTemplatePrintText
2: 8586233 256002896 [C
3: 8585462 206051088 java.lang.String
4: 1476040 96613168 [Ljava.lang.Object;
5: 2813773 90040736 net.sf.jasperreports.engine.fill.SimpleTextFormat
6: 1406890 67530720 net.sf.jasperreports.engine.fill.JRTemplatePrintFrame
7: 1429612 45747584 java.util.HashMap$Entry
8: 1406889 45020448 net.sf.jasperreports.engine.util.LinkedMap$LinkedValue
9: 1414013 33936312 java.util.ArrayList
10: 1406886 33765264 net.sf.jasperreports.engine.fill.ElementEvaluationAction
11: 1409016 22544256 java.lang.Integer
12: 1892 8958152 [Ljava.util.HashMap$Entry;
13: 49949 7594672
....................
Can anyone explain for me why we need to use so many these duplicated instances? What is the meaning of them? I think it should be small (around 1-100 instances) since I only have some templates.
Recommended Comments