com.ibm.dtfj.java
Interface JavaObject
- public interface JavaObject
Method Summary
Modifier and Type | Method and Description |
---|---|
|
arraycopy(int srcStart,java.lang.Object dst,int dstStart,int length)
Copies data from the image array into a local Java array.
|
|
equals(java.lang.Object obj)
|
|
getArraySize()
Get the number of elements in this array.
|
|
getHashcode()
Fetch the basic hash code for the object.
|
getHeap()
Gets the heap where this object is located.
|
|
getID()
The ID of an object is a unique address is memory which identifies the object.
|
|
getJavaClass()
Get the JavaClass instance which represents the class of this object.
|
|
|
getPersistentHashcode()
Fetch the basic hash code of the object in the image.
|
|
getReferences()
Get the set of references from this object.
|
|
getSections()
An object is represented in the Java runtime by one or more regions of memory.
|
|
getSize()
Get the number of bytes of memory occupied by this object.
|
|
hashCode()
|
|
isArray()
Is this object an array ?
|
Method Detail
getJavaClass
- JavaClass getJavaClass()
- throws CorruptDataException
Get the JavaClass instance which represents the class of this object.
Returns:
the JavaClass instance which represents the class of this object
Throws:
isArray
- boolean isArray()
- throws CorruptDataException
Is this object an array ?
Returns:
true if the receiver represents an instance of an array, or
false otherwise
Throws:
getArraySize
- int getArraySize()
- throws CorruptDataException
Get the number of elements in this array.
Returns:
the number of elements in this array
Throws:
java.lang.IllegalArgumentException
- if the receiver is not an array arraycopy
- void arraycopy(int srcStart,
- java.lang.Object dst,
- int dstStart,
- int length)
- throws CorruptDataException
- MemoryAccessException
Copies data from the image array into a local Java array.
The dst object must be an array of the appropriate type --
a base type array for base types, or a JavaObject array
for reference arrays.
Parameters:
srcStart
- index in the receiver to start copying from dst
- the destination array dstStart
- index in the destination array to start copying into length
- the number of elements to be copied Throws:
java.lang.NullPointerException
- if dst is null java.lang.IllegalArgumentException
- if the receiver is not an array,
or if dst is not an array of the appropriate type java.lang.IndexOutOfBoundsException
- if srcStart, dstStart, or length
are out of bounds in either the receiver or the destination array getSize
- long getSize()
- throws CorruptDataException
Get the number of bytes of memory occupied by this object.
Returns:
the number of bytes of memory occupied by this object. The
memory may not necessarily be contiguous
Throws:
getHashcode
- long getHashcode()
- throws DataUnavailable
- CorruptDataException
Fetch the basic hash code for the object. This is the hash code which
would be returned if a Java thread had requested it. Typically the hash
code is based on the address of an object, and may change if the object
is moved by a garbage collect cycle.
Returns:
the basic hash code of the object in the image.
Throws:
DataUnavailable
- if the hash code cannot be determined See Also:
getPersistentHashcode
- long getPersistentHashcode()
- throws DataUnavailable
- CorruptDataException
Fetch the basic hash code of the object in the image. This hash code
is guaranteed to be persistent between multiple snapshots of the same Image.
If the hash code cannot be determined, or if the hash code for this object
could change between snapshots, an exception is thrown.
If the VM uses a 'hasBeenHashed' bit, the value of this bit can be inferred by calling getPersistentHashcode(). If the persistent hash code is not available, then the 'hasBeenHashed' bit has not been set, and the hash of the object could change if the object moves between snapshots
Returns:
the basic hash code of the object in the image
Throws:
DataUnavailable
- if a hash code cannot be determined, or if the
hash code could change between successive snapshots See Also:
getID
- ImagePointer getID()
The ID of an object is a unique address is memory which identifies the object.
The data at this memory is implementation defined. The object may be
non-contiguous. Portions of the object may appear below or above this address.
Returns:
the runtime-wide unique identifier for the object
getSections
- java.util.Iterator getSections( )
An object is represented in the Java runtime by one or more regions of memory.
These include the object's header and the data in the object.
In certain allocation strategies, an object's header and data may be allocated
contiguously. In this case, this method may return an iterator for a single
section.
In other schemes, the header may be separate from the data or the data may be
broken up into multiple regions. Additionally, this function does not guarantee
that the memory used by this object is not also shared by one or more other
objects.
Callers should not make any assumptions about the contents of the memory.
getReferences
- java.util.Iterator getReferences( )
Get the set of references from this object.
getHeap
- JavaHeap getHeap()
- throws CorruptDataException
- DataUnavailable
Gets the heap where this object is located.
Returns:
the
JavaHeap
instance representing the heap where this object is stored in memory. Throws:
CorruptDataException
- if the heap information for this object is corrupt. DataUnavailable
- if the heap information for this object is not available. See Also:
equals
- boolean equals(java.lang.Object obj)
Overrides:
equals
in class java.lang.Object
Parameters:
obj
- Returns:
True if the given object refers to the same Java Object in the image
hashCode
- int hashCode()
Overrides:
hashCode
in class java.lang.Object