Class JCJavaObject
java.lang.Object
com.ibm.dtfj.java.javacore.JCJavaObject
- All Implemented Interfaces:
JavaObject
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Copies data from the image array into a local Java array.int
Get the number of elements in this array.long
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.Get the JavaClass instance which represents the class of this object.long
Fetch the basic hash code of the object in the image.Get the set of references from this object.An object is represented in the Java runtime by one or more regions of memory.long
getSize()
Get the number of bytes of memory occupied by this object on the heap.boolean
isArray()
Is this object an array?Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods declared in interface com.ibm.dtfj.java.JavaObject
equals, hashCode
-
Constructor Details
-
JCJavaObject
- Throws:
JCInvalidArgumentsException
-
-
Method Details
-
arraycopy
public void arraycopy(int arg0, Object arg1, int arg2, int arg3) throws CorruptDataException, MemoryAccessException Description copied from interface:JavaObject
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.- Specified by:
arraycopy
in interfaceJavaObject
- Parameters:
arg0
- index in the receiver to start copying fromarg1
- the destination arrayarg2
- index in the destination array to start copying intoarg3
- the number of elements to be copied- Throws:
CorruptDataException
MemoryAccessException
-
getArraySize
Description copied from interface:JavaObject
Get the number of elements in this array.- Specified by:
getArraySize
in interfaceJavaObject
- Returns:
- the number of elements in this array
- Throws:
CorruptDataException
-
getHashcode
Description copied from interface:JavaObject
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 collection cycle.- Specified by:
getHashcode
in interfaceJavaObject
- Returns:
- the basic hash code of the object in the image
- Throws:
DataUnavailable
- if the hash code cannot be determinedCorruptDataException
- See Also:
-
getID
Description copied from interface:JavaObject
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.- Specified by:
getID
in interfaceJavaObject
- Returns:
- the runtime-wide unique identifier for the object
-
getJavaClass
Description copied from interface:JavaObject
Get the JavaClass instance which represents the class of this object.- Specified by:
getJavaClass
in interfaceJavaObject
- Returns:
- the JavaClass instance which represents the class of this object
- Throws:
CorruptDataException
-
getPersistentHashcode
Description copied from interface:JavaObject
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
- Specified by:
getPersistentHashcode
in interfaceJavaObject
- 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 snapshotsCorruptDataException
- See Also:
-
getSections
Description copied from interface:JavaObject
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.- Specified by:
getSections
in interfaceJavaObject
- Returns:
- a collection of sections that make up this object
- See Also:
-
getSize
Description copied from interface:JavaObject
Get the number of bytes of memory occupied by this object on the heap. The memory may not necessarily be contiguous.- Specified by:
getSize
in interfaceJavaObject
- Throws:
CorruptDataException
-
isArray
Description copied from interface:JavaObject
Is this object an array?- Specified by:
isArray
in interfaceJavaObject
- Returns:
- true if the receiver represents an instance of an array, or false otherwise
- Throws:
CorruptDataException
-
getReferences
Description copied from interface:JavaObject
Get the set of references from this object. Corrupt references will be returned as CorruptData objects by the Iterator.- Specified by:
getReferences
in interfaceJavaObject
- Returns:
- an iterator of JavaReference and CorruptData objects
- See Also:
-
getHeap
Description copied from interface:JavaObject
Gets the heap where this object is located.- Specified by:
getHeap
in interfaceJavaObject
- Returns:
- the
JavaHeap
instance representing the heap where this object is stored in memory - Throws:
DataUnavailable
- if the heap information for this object is not available- See Also:
-