Module jdk.jdi
Package com.sun.jdi

Interface ClassLoaderReference

所有超级接口:
Mirror, ObjectReference, Value

public interface ClassLoaderReference extends ObjectReference
目标VM中的类加载器对象。ClassLoaderReference是一个带有额外访问目标VM中类加载器特定信息的ObjectReference。通过调用ReferenceType.classLoader()可以获取ClassLoaderReference的实例。
自版本:
1.3
参见:
  • Method Details

    • definedClasses

      List<ReferenceType> definedClasses()
      返回由此类加载器定义的所有类的列表。不保证此列表的顺序。返回的列表将包括所有引用类型,包括至少加载到准备阶段的隐藏类或接口,以及准备未定义的类型(如数组)。
      返回:
      一个包含由此类加载器定义的类型的List的对象。如果此类加载器未定义任何类型,则列表长度为0。
    • visibleClasses

      List<ReferenceType> visibleClasses()
      返回此类加载器可以通过ClassLoader::loadClassClass::forName和目标VM中的字节码链接按名称找到的所有类的列表。也就是说,此类加载器被记录为初始加载器的所有类。

      返回列表中的每个类都是由此类加载器创建的,直接定义或委托给另一个类加载器(参见JVMS 5.3)。

      返回的列表不包括隐藏类或接口,或其元素类型隐藏类或接口的数组类,因为它们无法被任何类加载器发现。

      可见类列表在类型命名空间方面具有有用的属性。特定类型名称在列表中最多出现一次。由此类加载器定义的类中声明的每个字段或变量必须解析为该单一类型。

      不保证返回列表的顺序。

      请注意,与definedClasses()VirtualMachine.allClasses()不同,返回的一些引用类型可能尚未准备就绪。尝试对未准备就绪的引用类型执行某些操作(例如fields())将抛出ClassNotPreparedException。使用ReferenceType.isPrepared()来确定引用类型是否已准备就绪。

      返回:
      一个包含此类加载器可以按名称找到的类的List的对象。如果此类加载器对此类加载器不可见,则列表长度为0。
      参见: