Finalizer
|__ Finalizer ( recursive)
|__ java.io.FileInputStream or org.eclipse.jetty.util.resource.FileResource
In FileResource, I found the path to decompress the war file, but I can’t find FileInputStream The content inside the object.
Screen shots can also be found here.
https://lh4.googleusercontent.com/-uZTZ031DlqI/UD33kMskuZI/AAAAAAAABYo/eOrqw65k_Mw/s1179/summary.png p>
https://lh6.googleusercontent.com/-yWBPUV_71js/UD33kAYYDEI/AAAAAAAABYk/J9fF_WwOeO4/s1074/details.png
Please tell me.
If too many callable objects are created, in your case FileInputStream, the finalizer may become a problem. You can try to slightly reduce the heap size So that the garbage collector runs more frequently and processes them faster.
Or, if possible, better reduce the use of FileInputStreams.
I have performed a memory dump and analyzed it with a memory analyzer. It shows 73% of the memory occupied by the java.lang.ref.finalizer object. I went to see this very large What is inside the object. I found it looks like a recursive trace of the object. It looks like the following
Finalizer
|__ Finalizer (recursive)
|__ java.io.FileInputStream or org.eclipse.jetty.util.resource.FileResource
In FileResource, I found the path to decompress the war file, but I couldn’t find the content in the FileInputStream object. .
You can also find screenshots here.
https://lh4.googleusercontent.com/-uZTZ031DlqI/UD33kMskuZI/AAAAAAAABYo/eOrqw65k_Mw/s1179/summary.png
https://lh6.googleusercontent.com/-yWBPUV_71js/UD33kAYYDEI/AAAAAAAABYk/J9fF_WwOeO4/s1074/details.png
Please tell me.
This in itself is not a leak. Please read: http://www.oracle.com/technetwork/articles/javase/finalization-137655.html about the finalization mechanism in the JVM.
Or, if possible, better reduce the use of FileInputStreams.