Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "MemoryAnalyzer/Indexes"

(Some of the internals of Eclipse Memory Analyzer)
 
Line 24: Line 24:
 
**** org.eclipse.mat.hprof.SeekableStream
 
**** org.eclipse.mat.hprof.SeekableStream
 
***** [*N} org.eclipse.mat.hprof.SeekableStream$PosStream
 
***** [*N} org.eclipse.mat.hprof.SeekableStream$PosStream
****** org.eclipse.mat.hprof.GZIPInputStream2
+
****** SoftReference
******* io.nayuki.deflate.InflaterInputStream
+
******* org.eclipse.mat.hprof.GZIPInputStream2
******** inputBuffer byte[16384]
+
******** io.nayuki.deflate.InflaterInputStream
******** dictionary byte[32768]
+
********* inputBuffer byte[16384]
***** org.eclipse.mat.hprof.SeekableStream$PosStream
+
********* dictionary byte[32768]

Revision as of 15:59, 14 May 2021

Index

Memory Analyzer uses several indexes to enable access to different parts of the snapshot.

IDENTIFIER 
IntToLong - object ID to object address
O2CLASS 
object ID to class ID
A2SIZE 
array object ID (or other non-fixed size object) to encoded size (32-bits)
INBOUND 
object ID to list of object IDs
OUTBOUND 
object ID to list of object IDs
DOMINATED 
Dominated: object id to N dominated object ids
O2RETAINED 
object ID to long
DOMINATOR 
Dominator of: object id to the id of its dominator
I2RETAINED 
cache of size of class, classloader (read/write)

HPROF random access to GZIP compressed files to read fields and array contents

  • org.eclipse.mat.hprof.DefaultPositionInputStream
    • org.eclipse.mat.parser.io.BufferedRandomAccessInputStream
      • HashMapLongObject
        • [*N] page
          • [*N] SoftReference
            • buffer byte[512]
      • org.eclipse.mat.hprof.CompressedRandomAccessFile
        • org.eclipse.mat.hprof.SeekableStream
          • [*N} org.eclipse.mat.hprof.SeekableStream$PosStream
            • SoftReference
              • org.eclipse.mat.hprof.GZIPInputStream2
                • io.nayuki.deflate.InflaterInputStream
                  • inputBuffer byte[16384]
                  • dictionary byte[32768]

Back to the top