Spec-Zone.ru › OpenJDK 27

Interface ClassLoaderReference

All Superinterfaces:
Mirror, ObjectReference, Value
public interface ClassLoaderReference extends ObjectReference
A class loader object from the target VM. A ClassLoaderReference is an ObjectReference with additional access to classloader-specific information from the target VM. Instances ClassLoaderReference are obtained through calls to ReferenceType.classLoader()
Since:
1.3
See Also:
  • ObjectReference

Field Summary

Fields declared in interface ObjectReference

INVOKE_NONVIRTUAL, INVOKE_SINGLE_THREADED
Modifier and Type Field Description
static final int INVOKE_NONVIRTUAL
Perform non-virtual method invocation
static final int INVOKE_SINGLE_THREADED
Perform method invocation with only the invoking thread resumed

Method Summary

Modifier and Type Method Description
List<ReferenceType> definedClasses()
Returns a list of all classes defined by this class loader.
List<ReferenceType> visibleClasses()
Returns a list of all classes which this class loader can find by name via ClassLoader::loadClass, Class::forName and bytecode linkage in the target VM.

Methods declared in interface Mirror

toString, virtualMachine
Modifier and Type Method Description
String toString()
Returns a String describing this mirror
VirtualMachine virtualMachine()
Gets the VirtualMachine to which this Mirror belongs.

Methods declared in interface ObjectReference

disableCollection, enableCollection, entryCount, equals, getValue, getValues, hashCode, invokeMethod, isCollected, owningThread, referenceType, referringObjects, setValue, uniqueID, waitingThreads
Modifier and Type Method Description
void disableCollection()
Prevents garbage collection for this object.
void enableCollection()
Permits garbage collection for this object.
int entryCount()
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.
boolean equals(Object obj)
Compares the specified Object with this ObjectReference for equality.
Value getValue(Field sig)
Gets the value of a given instance or static field in this object.
Map<Field,Value> getValues(List<? extends Field> fields)
Gets the value of multiple instance and/or static fields in this object.
int hashCode()
Returns the hash code value for this ObjectReference.
Value invokeMethod(ThreadReference thread, Method method, List<? extends Value> arguments, int options)
Invokes the specified Method on this object in the target VM.
boolean isCollected()
Determines if this object has been garbage collected in the target VM.
ThreadReference owningThread()
Returns a ThreadReference for the platform thread, if any, which currently owns this object's monitor.
ReferenceType referenceType()
Gets the ReferenceType that mirrors the type of this object.
List<ObjectReference> referringObjects(long maxReferrers)
Returns objects that directly reference this object.
void setValue(Field field, Value value)
Sets the value of a given instance or static field in this object.
long uniqueID()
Returns a unique identifier for this ObjectReference.
List<ThreadReference> waitingThreads()
Returns a List containing a ThreadReference for each platform thread currently waiting for this object's monitor.

Methods declared in interface Value

type
Modifier and Type Method Description
Type type()
Returns the run-time type of this value.

Method Details

definedClasses

List<ReferenceType> definedClasses()
Returns a list of all classes defined by this class loader. No ordering of this list guaranteed. The returned list will include all reference types, including hidden classes or interfaces, loaded at least to the point of preparation, and types (like array) for which preparation is not defined.
Returns:
a List of ReferenceType objects mirroring types defined by this class loader. The list has length 0 if no types have been defined by this classloader.

visibleClasses

List<ReferenceType> visibleClasses()
Returns a list of all classes which this class loader can find by name via ClassLoader::loadClass, Class::forName and bytecode linkage in the target VM. That is, all classes for which this class loader has been recorded as an initiating loader.

Each class in the returned list was created by this class loader either by defining it directly or by delegation to another class loader (see JVMS §5.3).

The returned list does not include hidden classes or interfaces or array classes whose element type is a hidden class or interface. as they cannot be discovered by any class loader

The visible class list has useful properties with respect to the type namespace. A particular type name will occur at most once in the list. Each field or variable declared with that type name in a class defined by this class loader must be resolved to that single type.

No ordering of the returned list is guaranteed.

Note that unlike definedClasses() and VirtualMachine.allClasses(), some of the returned reference types may not be prepared. Attempts to perform some operations on unprepared reference types (e.g. fields()) will throw a ClassNotPreparedException. Use ReferenceType.isPrepared() to determine if a reference type is prepared.

Returns:
a List of ReferenceType objects mirroring classes which this class loader can find by name. The list has length 0 if no classes are visible to this classloader.
See Also:
  • JVM TI GetClassLoaderClasses

Report a bug or suggest an enhancement
For further API reference and developer documentation see the Java SE Documentation, which contains more detailed, developer-targeted descriptions with conceptual overviews, definitions of terms, workarounds, and working code examples. Other versions.
Java is a trademark or registered trademark of Oracle and/or its affiliates in the US and other countries.
Copyright © 1993, 2026, Oracle and/or its affiliates, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
All rights reserved. Use is subject to license terms and the documentation redistribution policy.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API