Field or LocalVariable to which it is currently
assigned. An ObjectReference can have 0 or more references from
field(s) and/or variable(s).
Any method on ObjectReference which directly or indirectly
takes ObjectReference as a parameter may throw
VMDisconnectedException if the target VM is disconnected and the
VMDisconnectEvent has been or is available to be read from the
EventQueue.
Any method on ObjectReference which directly or indirectly
takes ObjectReference as a parameter may throw
VMOutOfMemoryException if the target VM has run out of memory.
Any method on ObjectReference or which directly or indirectly
takes ObjectReference as parameter may throw
ObjectCollectedException if the mirrored object has been
garbage collected.
| Modifier and Type | Field and Description |
|---|---|
| public static final int | INVOKE_NONVIRTUAL
Perform non-virtual method invocation |
| public static final int | INVOKE_SINGLE_THREADED
Perform method invocation with only the invoking thread resumed |
| Modifier and Type | Method and Description |
|---|---|
| public void | |
| public void | |
| public int | Returns: the integer count of the number of entries.Returns the number of times this object's monitor has been entered by the current owning thread if the owning thread is platform thread; Returns 0 if not owned by a platform thread. |
| public boolean | |
| public Value | |
| public Map | |
| public int | |
| public Value | Returns: aValue mirror of the invoked method's return value.the thread in which to invoke. thread, Method the method, List<? extends Value> Method to invoke.the list of arguments, int Value arguments bound to the
invoked method. Values from the list are assigned to arguments
in the order they appear in the method signature.the integer bit flag options. options)Invokes the specified |
| public boolean | |
| public ThreadReference | Returns: theThreadReference of the platform thread which
currently owns the monitor, or null if the monitor is owned
by a virtual thread or not owned.Returns a |
| public ReferenceType | Returns: theReferenceType for this object.Gets the |
| public List | Returns: a List ofObjectReference objects. If there are
no objects that reference this object, a zero-length list is returned..The maximum number of referring objects to return.
Must be non-negative. If zero, all referring
objects are returned. maxReferrers)Returns objects that directly reference this object. |
| public void | |
| public long | |
| public List | Returns: a List ofThreadReference objects. The list
has zero length if no threads are waiting for the monitor,
or only virtual threads are waiting for the monitor.Returns a List containing a |
| INVOKE_NONVIRTUAL | back to summary |
|---|---|
| public static final int INVOKE_NONVIRTUAL Perform non-virtual method invocation | |
| INVOKE_SINGLE_THREADED | back to summary |
|---|---|
| public static final int INVOKE_SINGLE_THREADED Perform method invocation with only the invoking thread resumed | |
| disableCollection | back to summary |
|---|---|
| public void disableCollection() Prevents garbage collection for this object. By default all
Calls to this method are counted. Every call to this method
requires a corresponding call to Note that while the target VM is suspended, no garbage collection will occur because all threads are suspended. The typical examination of variables, fields, and arrays during the suspension is safe without explicitly disabling garbage collection. This method should be used sparingly, as it alters the pattern of garbage collection in the target VM and, consequently, may result in application behavior under the debugger that differs from its non-debugged behavior.
| |
| enableCollection | back to summary |
|---|---|
| public void enableCollection() Permits garbage collection for this object. By default all
| |
| entryCount | back to summary |
|---|---|
| public int entryCount() throws IncompatibleThreadStateException Returns the number of times this object's monitor has been entered by
the current owning thread if the owning thread is platform thread;
Returns 0 if not owned by a platform thread.
See
Not all target VMs support this operation. See
| |
| equals | back to summary |
|---|---|
| public boolean equals(Object obj) Compares the specified Object with this ObjectReference for equality.
| |
| getValue | back to summary |
|---|---|
| public Value getValue(Field sig) Gets the value of a given instance or static field in this object. The Field must be valid for this ObjectReference; that is, it must be from the mirrored object's class or a superclass of that class.
| |
| getValues | back to summary |
|---|---|
| public Map Gets the value of multiple instance and/or static fields in this object. The Fields must be valid for this ObjectReference; that is, they must be from the mirrored object's class or a superclass of that class. | |
| hashCode | back to summary |
|---|---|
| public int hashCode() Returns the hash code value for this ObjectReference.
| |
| invokeMethod | back to summary |
|---|---|
| public Value invokeMethod(ThreadReference thread, Method method, List<? extends Value> arguments, int options) throws InvalidTypeException, ClassNotLoadedException, IncompatibleThreadStateException, InvocationException Invokes the specified
The method invocation will occur in the specified thread.
Method invocation can occur only if the specified thread
has been suspended by an event which occurred in that thread.
Method invocation is not supported
when the target VM has been suspended through
The specified method is invoked with the arguments in the specified
argument list. The method invocation is synchronous; this method
does not return until the invoked method returns in the target VM.
If the invoked method throws an exception, this method
will throw an Object arguments must be assignment compatible with the argument type (This implies that the argument type must be loaded through the enclosing class's class loader). Primitive arguments must be either assignment compatible with the argument type or must be convertible to the argument type without loss of information. If the method being called accepts a variable number of arguments, then the last argument type is an array of some component type. The argument in the matching position can be omitted, or can be null, an array of the same component type, or an argument of the component type followed by any number of other arguments of the same type. If the argument is omitted, then a 0 length array of the component type is passed. The component type can be a primitive type. Autoboxing is not supported. See section 5.2 of The Java Language Specification for more information on assignment compatibility.
By default, the method is invoked using dynamic lookup as
documented in section 15.12.4.4 of
The Java Language Specification
in particular, overriding based on the runtime type of the object
mirrored by this
By default, all threads in the target VM are resumed while
the method is being invoked if they were previously
suspended by an event or by
The resumption of other threads during the invocation can be prevented
by specifying the
If the target VM is disconnected during the invoke (for example, through
API Note Virtual threads
are typically user-mode threads scheduled by the Java runtime rather than
the operating system. As such, there may be more cases with virtual threads
where the
| |
| isCollected | back to summary |
|---|---|
| public boolean isCollected() Determines if this object has been garbage collected in the target VM.
| |
| owningThread | back to summary |
|---|---|
| public ThreadReference owningThread() throws IncompatibleThreadStateException Returns a
Not all target VMs support this operation. See
| |
| referenceType | back to summary |
|---|---|
| public ReferenceType referenceType() Gets the
The ReferenceType of obj will mirror java.lang.String and not java.lang.Object. The type of an object never changes, so this method will always return the same ReferenceType over the lifetime of the mirrored object.
The returned ReferenceType will be a
| |
| referringObjects | back to summary |
|---|---|
| public List Returns objects that directly reference this object. Only objects that are reachable for the purposes of garbage collection are returned. Note that an object can also be referenced in other ways, such as from a local variable in a stack frame, or from a JNI global reference. Such non-object referrers are not returned by this method.
Not all target virtual machines support this operation.
Use
| |
| setValue | back to summary |
|---|---|
| public void setValue(Field field, Value value) throws InvalidTypeException, ClassNotLoadedException Sets the value of a given instance or static field in this object.
The Object values must be assignment compatible with the field type (This implies that the field type must be loaded through the enclosing class's class loader). Primitive values must be either assignment compatible with the field type or must be convertible to the field type without loss of information. See section 5.2 of The Java Language Specification for more information on assignment compatibility.
| |
| uniqueID | back to summary |
|---|---|
| public long uniqueID() Returns a unique identifier for this ObjectReference. It is guaranteed to be unique among all ObjectReferences from the same VM that have not yet been disposed. The guarantee applies as long as this ObjectReference has not yet been disposed.
| |
| waitingThreads | back to summary |
|---|---|
| public List Returns a List containing a
Not all target VMs support this operation. See
| |