Uses of Class java.lang.ClassLoader (Java Platform SE 8 )
Date: 2026-07-22

## 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 contains dynamic language support provided directly by the Java core class libraries and 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, legacy collection classes, event model, date and time facilities, internationalization, and miscellaneous utility classes (a string tokenizer, a random-number generator, and a bit array).
  javax.activation |
  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.rmi.CORBA | Contains portability APIs for RMI-IIOP.
  javax.script | The scripting API consists of interfaces and classes that define Java TM 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.bind | Provides a runtime binding framework for client applications including unmarshalling, marshalling, and validation capabilities.
  javax.xml.datatype | XML/Java Type Mappings.
  javax.xml.parsers | Provides classes allowing the processing of XML documents.
  javax.xml.stream |
  javax.xml.transform | This package defines the generic APIs for processing transformation instructions, and performing a transformation from source to result.
  javax.xml.validation | This package provides an API for validation of XML documents.
  javax.xml.xpath | This package provides an object-model neutral API for the evaluation of XPath expressions and access to the evaluation environment.

- - ### Uses of ClassLoader in java.awt.datatransfer

    Methods in java.awt.datatransfer with parameters of type ClassLoader
    Modifier and Type | Method and Description
    --- | ---
    `protected static 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
    Constructor and 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 and 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)` Instantiate a bean.

    Constructors in java.beans with parameters of type ClassLoader
    Constructor and 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 and Description
    --- | ---
    `protected ClassLoader` | SecurityManager.`currentClassLoader()` Deprecated. This type of security checking is not recommended. It is recommended that the `checkPermission` call be used instead.
    `ClassLoader` | Class.`getClassLoader()` Returns the class loader for the class.
    `ClassLoader` | Thread.`getContextClassLoader()` Returns the context ClassLoader for this Thread.
    `ClassLoader` | ClassLoader.`getParent()` Returns the parent class loader for delegation.
    `static ClassLoader` | ClassLoader.`getSystemClassLoader()` Returns the system class loader for delegation.

    Methods in java.lang with parameters of type ClassLoader
    Modifier and Type | Method and Description
    --- | ---
    `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.

    Constructors in java.lang with parameters of type ClassLoader
    Constructor and Description
    `ClassLoader(ClassLoader parent)` Creates a new class loader 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 and Description
    --- | ---
    `Class[]` | Instrumentation.`getInitiatedClasses(ClassLoader loader)` Returns an array of all classes for which `loader` is an initiating loader.
    `byte[]` | ClassFileTransformer.`transform(ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer)` The implementation of this method may transform the supplied class file and return 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 and 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 and Description
    --- | ---
    `static Class<?>` | Proxy.`getProxyClass(ClassLoader loader, Class<?>... interfaces)` Returns the `java.lang.Class` object for a proxy class given a class loader and an array of interfaces.
    `static Object` | Proxy.`newProxyInstance(ClassLoader loader, Class<?>[] interfaces, InvocationHandler h)` Returns an instance of a proxy class 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 and 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 and 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
    Constructor and Description
    `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 and Description
    --- | ---
    `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(URI uri, Map<String,?> env, ClassLoader loader)` Constructs a new file system that is identified by a `URI`

  - ### Uses of ClassLoader in java.rmi.server

    Methods in java.rmi.server that return ClassLoader
    Modifier and Type | Method and 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 and Description
    --- | ---
    `static Object` | RMIClassLoader.`getSecurityContext(ClassLoader loader)` Deprecated. no replacement. As of the Java 2 platform v1.2, RMI no longer uses this method to obtain a class loader's security context.
    `Object` | LoaderHandler.`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 and 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 and Description
    --- | ---
    `ClassLoader` | ProtectionDomain.`getClassLoader()` Returns the ClassLoader of this domain.

    Constructors in java.security with parameters of type ClassLoader
    Constructor and 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.
    `SecureClassLoader(ClassLoader parent)` Creates a new SecureClassLoader 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 and Description
    --- | ---
    `static void` | ResourceBundle.`clearCache(ClassLoader loader)` Removes all resource bundles from the cache that have been loaded using 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 type and class loader.
    `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.activation

    Methods in javax.activation with parameters of type ClassLoader
    Modifier and Type | Method and Description
    --- | ---
    `Object` | CommandInfo.`getCommandObject(DataHandler dh, ClassLoader loader)` Return the instantiated JavaBean component.

  - ### Uses of ClassLoader in javax.imageio.spi

    Methods in javax.imageio.spi with parameters of type ClassLoader
    Modifier and Type | Method and 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 and 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 and 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 and 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 and 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
    Constructor and 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 and 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 and 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
    Constructor and Description
    `RMIConnectionImpl(RMIServerImpl rmiServer, String connectionId, ClassLoader defaultClassLoader, Subject subject, Map<String,?> env)` Constructs a new `RMIConnection`.

  - ### Uses of ClassLoader in javax.rmi.CORBA

    Methods in javax.rmi.CORBA with parameters of type ClassLoader
    Modifier and Type | Method and Description
    --- | ---
    `static Class` | Util.`loadClass(String className, String remoteCodebase, ClassLoader loader)` Returns a class instance for the specified class.
    `Class` | UtilDelegate.`loadClass(String className, String remoteCodebase, ClassLoader loader)` Delegation call for `Util.loadClass(java.lang.String, java.lang.String, java.lang.ClassLoader)`.

  - ### Uses of ClassLoader in javax.script

    Constructors in javax.script with parameters of type ClassLoader
    Constructor and 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 and that are in the usual extension directories (installed extensions) are loaded.

  - ### Uses of ClassLoader in javax.sql.rowset

    Methods in javax.sql.rowset with parameters of type ClassLoader
    Modifier and Type | Method and 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 and 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 and Description
    --- | ---
    `ClassLoader` | JavaFileManager.`getClassLoader(JavaFileManager.Location location)` Gets a class loader for loading plug-ins from the given location.
    `ClassLoader` | ForwardingJavaFileManager.`getClassLoader(JavaFileManager.Location location)`
    `static ClassLoader` | ToolProvider.`getSystemToolClassLoader()` Returns the class loader for tools provided with this platform.

  - ### Uses of ClassLoader in javax.xml.bind

    Methods in javax.xml.bind with parameters of type ClassLoader
    Modifier and Type | Method and Description
    --- | ---
    `static JAXBContext` | JAXBContext.`newInstance(String contextPath, ClassLoader classLoader)` Obtain a new instance of a `JAXBContext` class.
    `static JAXBContext` | JAXBContext.`newInstance(String contextPath, ClassLoader classLoader, Map<String,?> properties)` Obtain a new instance of a `JAXBContext` class.

  - ### Uses of ClassLoader in javax.xml.datatype

    Methods in javax.xml.datatype with parameters of type ClassLoader
    Modifier and Type | Method and 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 and 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.

  - ### Uses of ClassLoader in javax.xml.stream

    Methods in javax.xml.stream with parameters of type ClassLoader
    Modifier and Type | Method and Description
    --- | ---
    `static XMLOutputFactory` | XMLOutputFactory.`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 XMLEventFactory` | XMLEventFactory.`newFactory(String factoryId, ClassLoader classLoader)` Create a new instance of the factory.
    `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. Use the new method `XMLOutputFactory.newFactory(java.lang.String, java.lang.ClassLoader)` instead.
    `static XMLInputFactory` | XMLInputFactory.`newInstance(String factoryId, ClassLoader classLoader)` Deprecated. This method has been deprecated to maintain API consistency. All newInstance methods have been replaced with corresponding newFactory methods. The replacement `XMLInputFactory.newFactory(java.lang.String, java.lang.ClassLoader)` method defines no changes in behavior.
    `static XMLEventFactory` | XMLEventFactory.`newInstance(String factoryId, ClassLoader classLoader)` Deprecated. This method has been deprecated to maintain API consistency. All newInstance methods have been replaced with corresponding newFactory methods. The replacement `XMLEventFactory.newFactory(java.lang.String, java.lang.ClassLoader)` method defines no changes in behavior.

  - ### Uses of ClassLoader in javax.xml.transform

    Methods in javax.xml.transform with parameters of type ClassLoader
    Modifier and Type | Method and 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 and 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 and Description
    --- | ---
    `static XPathFactory` | XPathFactory.`newInstance(String uri, String factoryClassName, ClassLoader classLoader)` Obtain a new instance of a `XPathFactory` from a factory class name.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.