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.
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] |
− | + | ********* 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]
- [*N] SoftReference
- [*N] page
- 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]
- io.nayuki.deflate.InflaterInputStream
- org.eclipse.mat.hprof.GZIPInputStream2
- SoftReference
- [*N} org.eclipse.mat.hprof.SeekableStream$PosStream
- org.eclipse.mat.hprof.SeekableStream
- HashMapLongObject
- org.eclipse.mat.parser.io.BufferedRandomAccessInputStream