# Uses of Class
java.lang.ClassLoader

Packages that use ClassLoader
Package
Description
java.awt.datatransfer
Provides interfaces and classes for transferring data between and within applications.
java.beans
Contains classes related to developing beans -- components based on the JavaBeans architecture.
java.lang
Provides classes that are fundamental to the design of the Java programming language.
java.lang.instrument
Provides services that allow Java programming language agents to instrument programs running on the JVM.
java.lang.invoke
The `java.lang.invoke` package provides low-level primitives for interacting with the Java Virtual Machine.
java.lang.reflect
Provides classes and interfaces for obtaining reflective information about classes and objects.
java.net
Provides the classes for implementing networking applications.
java.nio.file
Defines interfaces and classes for the Java virtual machine to access files, file attributes, and file systems.
java.rmi.server
Provides classes and interfaces for supporting the server side of RMI.
java.security
Provides the classes and interfaces for the security framework.
java.util
Contains the collections framework, some internationalization support classes, a service loader, properties, random number generation, string parsing and scanning classes, base64 encoding and decoding, a bit array, and several miscellaneous utility classes.
javax.imageio.spi
A package of the Java Image I/O API containing the plug-in interfaces for readers, writers, transcoders, and streams, and a runtime registry.
javax.management
Provides the core classes for the Java Management Extensions.
javax.management.loading
Provides the classes which implement advanced dynamic loading.
javax.management.remote.rmi
The RMI connector is a connector for the JMX Remote API that uses RMI to transmit client requests to a remote MBean server.
javax.script
The scripting API consists of interfaces and classes that define Java Scripting Engines and provides a framework for their use in Java applications.
javax.sql.rowset
Standard interfaces and base classes for JDBC `RowSet` implementations.
javax.swing
Provides a set of "lightweight" (all-Java language) components that, to the maximum degree possible, work the same on all platforms.
javax.tools
Provides interfaces for tools which can be invoked from a program, for example, compilers.
javax.xml.datatype
Defines XML/Java Type Mappings.
javax.xml.parsers
Provides the classes for processing XML documents with a SAX (Simple API for XML) parser or a DOM (Document Object Model) Document builder.
javax.xml.stream
Defines interfaces and classes for the Streaming API for XML (StAX).
javax.xml.transform
Defines the generic APIs for processing transformation instructions, and performing a transformation from source to result.
javax.xml.validation
Provides an API for validation of XML documents.
javax.xml.xpath
Provides an object-model neutral API for the evaluation of XPath expressions and access to the evaluation environment.
jdk.dynalink
Contains interfaces and classes that are used to link an `invokedynamic` call site.

## Uses of ClassLoader in java.awt.datatransfer

Methods in java.awt.datatransfer with parameters of type ClassLoader
Modifier and Type
Method
Description
`protected static final Class<?>`
DataFlavor.`tryToLoadClass(String className, ClassLoader fallback)`
Tries to load a class from: the bootstrap loader, the system loader, the context loader (if one is present) and finally the loader specified.
Constructors in java.awt.datatransfer with parameters of type ClassLoader
Modifier
Constructor
Description
``
`DataFlavor(String mimeType, String humanPresentableName, ClassLoader classLoader)`
Constructs a `DataFlavor` that represents a `MimeType`.

## Uses of ClassLoader in java.beans

Methods in java.beans with parameters of type ClassLoader
Modifier and Type
Method
Description
`static DefaultHandler`
XMLDecoder.`createHandler(Object owner, ExceptionListener el, ClassLoader cl)`
Creates a new handler for SAX parser that can be used to parse embedded XML archives created by the `XMLEncoder` class.
`static Object`
Beans.`instantiate(ClassLoader cls, String beanName)`
Instantiate a JavaBean.
`static Object`
Beans.`instantiate(ClassLoader cls, String beanName, BeanContext beanContext)`
Instantiate a JavaBean.
`static Object`
Beans.`instantiate(ClassLoader cls, String beanName, BeanContext beanContext, AppletInitializer initializer)`
Deprecated, for removal: This API element is subject to removal in a future version.
It is recommended to use `Beans.instantiate(ClassLoader, String, BeanContext)`, because the Applet API is deprecated.
Constructors in java.beans with parameters of type ClassLoader
Modifier
Constructor
Description
``
`XMLDecoder(InputStream in, Object owner, ExceptionListener exceptionListener, ClassLoader cl)`
Creates a new input stream for reading archives created by the `XMLEncoder` class.

## Uses of ClassLoader in java.lang

Methods in java.lang that return ClassLoader
Modifier and Type
Method
Description
`ClassLoader`
ModuleLayer.`findLoader(String name)`
Returns the `ClassLoader` for the module with the given name.
`ClassLoader`
Class.`getClassLoader()`
Returns the class loader for the class.
`ClassLoader`
Module.`getClassLoader()`
Returns the `ClassLoader` for this module.
`ClassLoader`
Thread.`getContextClassLoader()`
Returns the context `ClassLoader` for this thread.
`final ClassLoader`
ClassLoader.`getParent()`
Returns the parent class loader for delegation.
`static ClassLoader`
ClassLoader.`getPlatformClassLoader()`
Returns the platform class loader.
`static ClassLoader`
ClassLoader.`getSystemClassLoader()`
Returns the system class loader.
Methods in java.lang with parameters of type ClassLoader
Modifier and Type
Method
Description
`ModuleLayer`
ModuleLayer.`defineModulesWithManyLoaders(Configuration cf, ClassLoader parentLoader)`
Creates a new module layer, with this layer as its parent, by defining the modules in the given `Configuration` to the Java virtual machine.
`static ModuleLayer.Controller`
ModuleLayer.`defineModulesWithManyLoaders(Configuration cf, List<ModuleLayer> parentLayers, ClassLoader parentLoader)`
Creates a new module layer by defining the modules in the given `Configuration` to the Java virtual machine.
`ModuleLayer`
ModuleLayer.`defineModulesWithOneLoader(Configuration cf, ClassLoader parentLoader)`
Creates a new module layer, with this layer as its parent, by defining the modules in the given `Configuration` to the Java virtual machine.
`static ModuleLayer.Controller`
ModuleLayer.`defineModulesWithOneLoader(Configuration cf, List<ModuleLayer> parentLayers, ClassLoader parentLoader)`
Creates a new module layer by defining the modules in the given `Configuration` to the Java virtual machine.
`static Class<?>`
Class.`forName(String name, boolean initialize, ClassLoader loader)`
Returns the `Class` object associated with the class or interface with the given string name, using the given class loader.
`void`
Thread.`setContextClassLoader(ClassLoader cl)`
Sets the context ClassLoader for this Thread.
Method parameters in java.lang with type arguments of type ClassLoader
Modifier and Type
Method
Description
`ModuleLayer`
ModuleLayer.`defineModules(Configuration cf, Function<String,ClassLoader> clf)`
Creates a new module layer, with this layer as its parent, by defining the modules in the given `Configuration` to the Java virtual machine.
`static ModuleLayer.Controller`
ModuleLayer.`defineModules(Configuration cf, List<ModuleLayer> parentLayers, Function<String,ClassLoader> clf)`
Creates a new module layer by defining the modules in the given `Configuration` to the Java virtual machine.
Constructors in java.lang with parameters of type ClassLoader
Modifier
Constructor
Description
`protected`
`ClassLoader(ClassLoader parent)`
Creates a new class loader using the specified parent class loader for delegation.
`protected`
`ClassLoader(String name, ClassLoader parent)`
Creates a new class loader of the specified name and using the specified parent class loader for delegation.

## Uses of ClassLoader in java.lang.instrument

Methods in java.lang.instrument with parameters of type ClassLoader
Modifier and Type
Method
Description
`Class[]`
Instrumentation.`getInitiatedClasses(ClassLoader loader)`
Returns an array of all classes which `loader` can find by name via `ClassLoader::loadClass`, `Class::forName` and bytecode linkage.
`default byte[]`
ClassFileTransformer.`transform(ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer)`
Transforms the given class file and returns a new replacement class file.
`default byte[]`
ClassFileTransformer.`transform(Module module, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer)`
Transforms the given class file and returns a new replacement class file.

## Uses of ClassLoader in java.lang.invoke

Methods in java.lang.invoke with parameters of type ClassLoader
Modifier and Type
Method
Description
`static MethodType`
MethodType.`fromMethodDescriptorString(String descriptor, ClassLoader loader)`
Finds or creates an instance of a method type, given the spelling of its bytecode descriptor.

## Uses of ClassLoader in java.lang.reflect

Methods in java.lang.reflect with parameters of type ClassLoader
Modifier and Type
Method
Description
`static Class<?>`
Proxy.`getProxyClass(ClassLoader loader, Class<?>... interfaces)`
Deprecated.
Proxy classes generated in a named module are encapsulated and not accessible to code outside its module.
`static Object`
Proxy.`newProxyInstance(ClassLoader loader, Class<?>[] interfaces, InvocationHandler h)`
Returns a proxy instance for the specified interfaces that dispatches method invocations to the specified invocation handler.

## Uses of ClassLoader in java.net

Subclasses of ClassLoader in java.net
Modifier and Type
Class
Description
`class`
`URLClassLoader`
This class loader is used to load classes and resources from a search path of URLs referring to both JAR files and directories.
Methods in java.net with parameters of type ClassLoader
Modifier and Type
Method
Description
`static URLClassLoader`
URLClassLoader.`newInstance(URL[] urls, ClassLoader parent)`
Creates a new instance of URLClassLoader for the specified URLs and parent class loader.
Constructors in java.net with parameters of type ClassLoader
Modifier
Constructor
Description
``
`URLClassLoader(String name, URL[] urls, ClassLoader parent)`
Constructs a new named `URLClassLoader` for the specified URLs.
``
`URLClassLoader(String name, URL[] urls, ClassLoader parent, URLStreamHandlerFactory factory)`
Constructs a new named `URLClassLoader` for the specified URLs, parent class loader, and URLStreamHandlerFactory.
``
`URLClassLoader(URL[] urls, ClassLoader parent)`
Constructs a new URLClassLoader for the given URLs.
``
`URLClassLoader(URL[] urls, ClassLoader parent, URLStreamHandlerFactory factory)`
Constructs a new URLClassLoader for the specified URLs, parent class loader, and URLStreamHandlerFactory.

## Uses of ClassLoader in java.nio.file

Methods in java.nio.file with parameters of type ClassLoader
Modifier and Type
Method
Description
`static FileSystem`
FileSystems.`newFileSystem(URI uri, Map<String,?> env, ClassLoader loader)`
Constructs a new file system that is identified by a `URI`
`static FileSystem`
FileSystems.`newFileSystem(Path path, ClassLoader loader)`
Constructs a new `FileSystem` to access the contents of a file as a file system.
`static FileSystem`
FileSystems.`newFileSystem(Path path, Map<String,?> env, ClassLoader loader)`
Constructs a new `FileSystem` to access the contents of a file as a file system.

## Uses of ClassLoader in java.rmi.server

Methods in java.rmi.server that return ClassLoader
Modifier and Type
Method
Description
`static ClassLoader`
RMIClassLoader.`getClassLoader(String codebase)`
Returns a class loader that loads classes from the given codebase URL path.
`abstract ClassLoader`
RMIClassLoaderSpi.`getClassLoader(String codebase)`
Provides the implementation for `RMIClassLoader.getClassLoader(String)`.
Methods in java.rmi.server with parameters of type ClassLoader
Modifier and Type
Method
Description
`Object`
LoaderHandler.`getSecurityContext(ClassLoader loader)`
Deprecated.
no replacement
`static Object`
RMIClassLoader.`getSecurityContext(ClassLoader loader)`
Deprecated.
no replacement.
`static Class<?>`
RMIClassLoader.`loadClass(String codebase, String name, ClassLoader defaultLoader)`
Loads a class from a codebase URL path, optionally using the supplied loader.
`abstract Class<?>`
RMIClassLoaderSpi.`loadClass(String codebase, String name, ClassLoader defaultLoader)`
Provides the implementation for `RMIClassLoader.loadClass(URL,String)`, `RMIClassLoader.loadClass(String,String)`, and `RMIClassLoader.loadClass(String,String,ClassLoader)`.
`static Class<?>`
RMIClassLoader.`loadProxyClass(String codebase, String[] interfaces, ClassLoader defaultLoader)`
Loads a dynamic proxy class (see `Proxy`) that implements a set of interfaces with the given names from a codebase URL path.
`abstract Class<?>`
RMIClassLoaderSpi.`loadProxyClass(String codebase, String[] interfaces, ClassLoader defaultLoader)`
Provides the implementation for `RMIClassLoader.loadProxyClass(String,String[],ClassLoader)`.

## Uses of ClassLoader in java.security

Subclasses of ClassLoader in java.security
Modifier and Type
Class
Description
`class`
`SecureClassLoader`
This class extends ClassLoader with additional support for defining classes with an associated code source and permissions which are retrieved by the system policy by default.
Methods in java.security that return ClassLoader
Modifier and Type
Method
Description
`final ClassLoader`
ProtectionDomain.`getClassLoader()`
Returns the ClassLoader of this domain.
Constructors in java.security with parameters of type ClassLoader
Modifier
Constructor
Description
``
`ProtectionDomain(CodeSource codesource, PermissionCollection permissions, ClassLoader classloader, Principal[] principals)`
Creates a new ProtectionDomain qualified by the given CodeSource, Permissions, ClassLoader and array of Principals.
`protected`
`SecureClassLoader(ClassLoader parent)`
Creates a new SecureClassLoader using the specified parent class loader for delegation.
`protected`
`SecureClassLoader(String name, ClassLoader parent)`
Creates a new `SecureClassLoader` of the specified name and using the specified parent class loader for delegation.

## Uses of ClassLoader in java.util

Methods in java.util with parameters of type ClassLoader
Modifier and Type
Method
Description
`static final void`
ResourceBundle.`clearCache(ClassLoader loader)`
Removes all resource bundles from the cache that have been loaded by the given class loader.
`static ResourceBundle`
ResourceBundle.`getBundle(String baseName, Locale locale, ClassLoader loader)`
Gets a resource bundle using the specified base name, locale, and class loader.
`static ResourceBundle`
ResourceBundle.`getBundle(String baseName, Locale targetLocale, ClassLoader loader, ResourceBundle.Control control)`
Returns a resource bundle using the specified base name, target locale, class loader and control.
`static <S> ServiceLoader<S>`
ServiceLoader.`load(Class<S> service, ClassLoader loader)`
Creates a new service loader for the given service.
`boolean`
ResourceBundle.Control.`needsReload(String baseName, Locale locale, String format, ClassLoader loader, ResourceBundle bundle, long loadTime)`
Determines if the expired `bundle` in the cache needs to be reloaded based on the loading time given by `loadTime` or some other criteria.
`ResourceBundle`
ResourceBundle.Control.`newBundle(String baseName, Locale locale, String format, ClassLoader loader, boolean reload)`
Instantiates a resource bundle for the given bundle name of the given format and locale, using the given class loader if necessary.

## Uses of ClassLoader in javax.imageio.spi

Methods in javax.imageio.spi with parameters of type ClassLoader
Modifier and Type
Method
Description
`static <T> Iterator<T>`
ServiceRegistry.`lookupProviders(Class<T> providerClass, ClassLoader loader)`
Searches for implementations of a particular service class using the given class loader.

## Uses of ClassLoader in javax.management

Methods in javax.management that return ClassLoader
Modifier and Type
Method
Description
`ClassLoader`
MBeanServer.`getClassLoader(ObjectName loaderName)`
Return the named `ClassLoader`.
`ClassLoader`
MBeanServer.`getClassLoaderFor(ObjectName mbeanName)`
Return the `ClassLoader` that was used for loading the class of the named MBean.
Methods in javax.management with parameters of type ClassLoader
Modifier and Type
Method
Description
`static Class<?>`
DefaultLoaderRepository.`loadClassWithout(ClassLoader loader, String className)`
Deprecated.
Go through the list of class loaders but exclude the given class loader, then try to load the requested class.

## Uses of ClassLoader in javax.management.loading

Subclasses of ClassLoader in javax.management.loading
Modifier and Type
Class
Description
`class`
`MLet`
Allows you to instantiate and register one or several MBeans in the MBean server coming from a remote URL.
`class`
`PrivateMLet`
An MLet that is not added to the `ClassLoaderRepository`.
Methods in javax.management.loading with parameters of type ClassLoader
Modifier and Type
Method
Description
`Class<?>`
ClassLoaderRepository.`loadClassBefore(ClassLoader stop, String className)`
Load the given class name through the list of class loaders, stopping at the given one.
`Class<?>`
ClassLoaderRepository.`loadClassWithout(ClassLoader exclude, String className)`
Load the given class name through the list of class loaders, excluding the given one.
`static Class<?>`
DefaultLoaderRepository.`loadClassWithout(ClassLoader loader, String className)`
Deprecated.
Go through the list of class loaders but exclude the given class loader, then try to load the requested class.
Constructors in javax.management.loading with parameters of type ClassLoader
Modifier
Constructor
Description
``
`MLet(URL[] urls, ClassLoader parent)`
Constructs a new MLet for the given URLs.
``
`MLet(URL[] urls, ClassLoader parent, boolean delegateToCLR)`
Constructs a new MLet for the given URLs.
``
`MLet(URL[] urls, ClassLoader parent, URLStreamHandlerFactory factory)`
Constructs a new MLet for the specified URLs, parent class loader, and URLStreamHandlerFactory.
``
`MLet(URL[] urls, ClassLoader parent, URLStreamHandlerFactory factory, boolean delegateToCLR)`
Constructs a new MLet for the specified URLs, parent class loader, and URLStreamHandlerFactory.
``
`PrivateMLet(URL[] urls, ClassLoader parent, boolean delegateToCLR)`
Constructs a new PrivateMLet for the given URLs.
``
`PrivateMLet(URL[] urls, ClassLoader parent, URLStreamHandlerFactory factory, boolean delegateToCLR)`
Constructs a new PrivateMLet for the specified URLs, parent class loader, and URLStreamHandlerFactory.

## Uses of ClassLoader in javax.management.remote.rmi

Methods in javax.management.remote.rmi that return ClassLoader
Modifier and Type
Method
Description
`ClassLoader`
RMIServerImpl.`getDefaultClassLoader()`
Gets the default `ClassLoader` used by this connector server.
Methods in javax.management.remote.rmi with parameters of type ClassLoader
Modifier and Type
Method
Description
`void`
RMIServerImpl.`setDefaultClassLoader(ClassLoader cl)`
Sets the default `ClassLoader` for this connector server.
Constructors in javax.management.remote.rmi with parameters of type ClassLoader
Modifier
Constructor
Description
``
`RMIConnectionImpl(RMIServerImpl rmiServer, String connectionId, ClassLoader defaultClassLoader, Subject subject, Map<String,?> env)`
Constructs a new `RMIConnection`.

## Uses of ClassLoader in javax.script

Constructors in javax.script with parameters of type ClassLoader
Modifier
Constructor
Description
``
`ScriptEngineManager(ClassLoader loader)`
This constructor loads the implementations of `ScriptEngineFactory` visible to the given `ClassLoader` using the service provider mechanism.
If loader is `null`, the script engine factories that are bundled with the platform are loaded.

## Uses of ClassLoader in javax.sql.rowset

Methods in javax.sql.rowset with parameters of type ClassLoader
Modifier and Type
Method
Description
`static RowSetFactory`
RowSetProvider.`newFactory(String factoryClassName, ClassLoader cl)`
Creates a new instance of a `RowSetFactory` from the specified factory class name.

## Uses of ClassLoader in javax.swing

Methods in javax.swing with parameters of type ClassLoader
Modifier and Type
Method
Description
`Class<? extends ComponentUI>`
UIDefaults.`getUIClass(String uiClassID, ClassLoader uiClassLoader)`
The value of `get(uidClassID)` must be the `String` name of a class that implements the corresponding `ComponentUI` class.
`static void`
JEditorPane.`registerEditorKitForContentType(String type, String classname, ClassLoader loader)`
Establishes the default bindings of `type` to `classname`.

## Uses of ClassLoader in javax.tools

Methods in javax.tools that return ClassLoader
Modifier and Type
Method
Description
`ClassLoader`
ForwardingJavaFileManager.`getClassLoader(JavaFileManager.Location location)`
`ClassLoader`
JavaFileManager.`getClassLoader(JavaFileManager.Location location)`
Returns a class loader for loading plug-ins from the given package-oriented location.
`static ClassLoader`
ToolProvider.`getSystemToolClassLoader()`
Deprecated.
This method is subject to removal in a future version of Java SE.

## Uses of ClassLoader in javax.xml.datatype

Methods in javax.xml.datatype with parameters of type ClassLoader
Modifier and Type
Method
Description
`static DatatypeFactory`
DatatypeFactory.`newInstance(String factoryClassName, ClassLoader classLoader)`
Obtain a new instance of a `DatatypeFactory` from class name.

## Uses of ClassLoader in javax.xml.parsers

Methods in javax.xml.parsers with parameters of type ClassLoader
Modifier and Type
Method
Description
`static DocumentBuilderFactory`
DocumentBuilderFactory.`newInstance(String factoryClassName, ClassLoader classLoader)`
Obtain a new instance of a `DocumentBuilderFactory` from class name.
`static SAXParserFactory`
SAXParserFactory.`newInstance(String factoryClassName, ClassLoader classLoader)`
Obtain a new instance of a `SAXParserFactory` from class name.
`static DocumentBuilderFactory`
DocumentBuilderFactory.`newNSInstance(String factoryClassName, ClassLoader classLoader)`
Creates a new NamespaceAware instance of a `DocumentBuilderFactory` from the class name.
`static SAXParserFactory`
SAXParserFactory.`newNSInstance(String factoryClassName, ClassLoader classLoader)`
Creates a new NamespaceAware instance of a `SAXParserFactory` from the class name.

## Uses of ClassLoader in javax.xml.stream

Methods in javax.xml.stream with parameters of type ClassLoader
Modifier and Type
Method
Description
`static XMLEventFactory`
XMLEventFactory.`newFactory(String factoryId, ClassLoader classLoader)`
Create a new instance of the factory.
`static XMLInputFactory`
XMLInputFactory.`newFactory(String factoryId, ClassLoader classLoader)`
Create a new instance of the factory.
`static XMLOutputFactory`
XMLOutputFactory.`newFactory(String factoryId, ClassLoader classLoader)`
Create a new instance of the factory.
`static XMLEventFactory`
XMLEventFactory.`newInstance(String factoryId, ClassLoader classLoader)`
Deprecated.
This method has been deprecated to maintain API consistency.
`static XMLInputFactory`
XMLInputFactory.`newInstance(String factoryId, ClassLoader classLoader)`
Deprecated.
This method has been deprecated to maintain API consistency.
`static XMLInputFactory`
XMLOutputFactory.`newInstance(String factoryId, ClassLoader classLoader)`
Deprecated.
This method has been deprecated because it returns an instance of XMLInputFactory, which is of the wrong class.

## Uses of ClassLoader in javax.xml.transform

Methods in javax.xml.transform with parameters of type ClassLoader
Modifier and Type
Method
Description
`static TransformerFactory`
TransformerFactory.`newInstance(String factoryClassName, ClassLoader classLoader)`
Obtain a new instance of a `TransformerFactory` from factory class name.

## Uses of ClassLoader in javax.xml.validation

Methods in javax.xml.validation with parameters of type ClassLoader
Modifier and Type
Method
Description
`static SchemaFactory`
SchemaFactory.`newInstance(String schemaLanguage, String factoryClassName, ClassLoader classLoader)`
Obtain a new instance of a `SchemaFactory` from class name.

## Uses of ClassLoader in javax.xml.xpath

Methods in javax.xml.xpath with parameters of type ClassLoader
Modifier and Type
Method
Description
`static XPathFactory`
XPathFactory.`newInstance(String uri, String factoryClassName, ClassLoader classLoader)`
Obtain a new instance of a `XPathFactory` from a factory class name.

## Uses of ClassLoader in jdk.dynalink

Methods in jdk.dynalink with parameters of type ClassLoader
Modifier and Type
Method
Description
`void`
DynamicLinkerFactory.`setClassLoader(ClassLoader classLoader)`
Sets the class loader for automatic discovery of available guarding dynamic linkers.