Top Description Inners Fields Constructors Methods
jdk.internal.loader

public Class ClassLoaders

extends Object
Class Inheritance
Imports
java.io.IOException, java.net.URL, java.nio.file.InvalidPathException, .Path, java.util.jar.Manifest, jdk.internal.access.JavaLangAccess, .SharedSecrets, jdk.internal.misc.VM, jdk.internal.module.ServicesCatalog

Creates and provides access to the built-in platform and application class loaders. It also creates the class loader that is used to locate resources in modules defined to the boot class loader.

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class
ClassLoaders.AppClassLoader

The application class loader that is a BuiltinClassLoader with customizations to be compatible with long standing behavior.

private static class
ClassLoaders.BootClassLoader

The class loader that is used to find resources in modules defined to the boot class loader.

private static class
ClassLoaders.PlatformClassLoader

The platform class loader, a unique type to make it easier to distinguish from the application class loader.

Field Summary

Modifier and TypeField and Description
private static final ClassLoaders.AppClassLoader
private static final ClassLoaders.BootClassLoader
private static final JavaLangAccess
private static final ClassLoaders.PlatformClassLoader

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static ClassLoader
appClassLoader()

Returns the application class loader.

pack-priv static BuiltinClassLoader
bootLoader()

Returns the class loader that is used to find resources in modules defined to the boot class loader.

public static ClassLoader
platformClassLoader()

Returns the platform class loader.

private static void
private static URL
toFileURL(String s)
Deprecated

Attempts to convert the given string to a file URL.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

APP_LOADERback to summary
private static final ClassLoaders.AppClassLoader APP_LOADER
BOOT_LOADERback to summary
private static final ClassLoaders.BootClassLoader BOOT_LOADER
JLAback to summary
private static final JavaLangAccess JLA
PLATFORM_LOADERback to summary
private static final ClassLoaders.PlatformClassLoader PLATFORM_LOADER

Constructor Detail

ClassLoadersback to summary
private ClassLoaders()

Method Detail

appClassLoaderback to summary
public static ClassLoader appClassLoader()

Returns the application class loader.

bootLoaderback to summary
pack-priv static BuiltinClassLoader bootLoader()

Returns the class loader that is used to find resources in modules defined to the boot class loader.

API Note

This method is not public, it should instead be used via the BootLoader class that provides a restricted API to this class loader.

platformClassLoaderback to summary
public static ClassLoader platformClassLoader()

Returns the platform class loader.

setArchivedServicesCatalogback to summary
private static void setArchivedServicesCatalog(ClassLoader loader)
toFileURLback to summary
private static URL toFileURL(String s)

Deprecated

Attempts to convert the given string to a file URL.

API Note

This is called by the VM

Annotations
@Deprecated
jdk.internal.loader back to summary

private Class ClassLoaders.AppClassLoader

extends BuiltinClassLoader
Class Inheritance

The application class loader that is a BuiltinClassLoader with customizations to be compatible with long standing behavior.

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
pack-priv void
appendToClassPathForInstrumentation(String path)

Called by the VM to support dynamic additions to the class path

protected Package
defineOrCheckPackage(String pn, Manifest man, URL url)

Overrides jdk.internal.loader.BuiltinClassLoader.defineOrCheckPackage.

Called by the VM to support define package for AppCDS

Inherited from jdk.internal.loader.BuiltinClassLoader:
appendClassPathfindClassfindClassfindModulefindResourcefindResourcefindResourceAsStreamfindResourceshasClassPathloadClassloadClassOrNullloadClassOrNullloadModulepackageToModulesetClassPath

Constructor Detail

AppClassLoaderback to summary
pack-priv AppClassLoader(BuiltinClassLoader parent, URLClassPath ucp)

Method Detail

appendToClassPathForInstrumentationback to summary
pack-priv void appendToClassPathForInstrumentation(String path)

Called by the VM to support dynamic additions to the class path

See Also
java.lang.instrument.Instrumentation#appendToSystemClassLoaderSearch
defineOrCheckPackageback to summary
protected Package defineOrCheckPackage(String pn, Manifest man, URL url)

Overrides jdk.internal.loader.BuiltinClassLoader.defineOrCheckPackage.

Called by the VM to support define package for AppCDS

Annotations
@Override
jdk.internal.loader back to summary

private Class ClassLoaders.BootClassLoader

extends BuiltinClassLoader
Class Inheritance

The class loader that is used to find resources in modules defined to the boot class loader. It is not used for class loading.

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
protected Class<?>
loadClassOrNull(String cn, boolean resolve)

Overrides jdk.internal.loader.BuiltinClassLoader.loadClassOrNull.

A variation of loadClass to load a class with the specified binary name.

Inherited from jdk.internal.loader.BuiltinClassLoader:
appendClassPathdefineOrCheckPackagefindClassfindClassfindModulefindResourcefindResourcefindResourceAsStreamfindResourceshasClassPathloadClassloadClassOrNullloadModulepackageToModulesetClassPath

Constructor Detail

BootClassLoaderback to summary
pack-priv BootClassLoader(URLClassPath bcp)

Method Detail

loadClassOrNullback to summary
protected Class<?> loadClassOrNull(String cn, boolean resolve)

Overrides jdk.internal.loader.BuiltinClassLoader.loadClassOrNull.

Doc from jdk.internal.loader.BuiltinClassLoader.loadClassOrNull.

A variation of loadClass to load a class with the specified binary name. This method returns null when the class is not found.

Annotations
@Override
jdk.internal.loader back to summary

private Class ClassLoaders.PlatformClassLoader

extends BuiltinClassLoader
Class Inheritance

The platform class loader, a unique type to make it easier to distinguish from the application class loader.

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Inherited from jdk.internal.loader.BuiltinClassLoader:
appendClassPathdefineOrCheckPackagefindClassfindClassfindModulefindResourcefindResourcefindResourceAsStreamfindResourceshasClassPathloadClassloadClassOrNullloadClassOrNullloadModulepackageToModulesetClassPath

Constructor Detail

PlatformClassLoaderback to summary
pack-priv PlatformClassLoader(ClassLoaders.BootClassLoader parent)