ClassLoader.getSystemClassLoader() in Java

ClassLoader.getSystemClassLoader(): This method is available in the java.lang.ClassLoader class of Java.

Syntax:

ClassLoader java.lang.ClassLoader.getSystemClassLoader()

This method returns the system class loader. This is the default delegation parent for new ClassLoader instances and is typically the class loader used to start the application.

The default system class loader is an implementation-dependent instance of this class.

Parameters: NA

Returns: The system ClassLoader.

Throws:

1. SecurityException - If a security manager is present, and the caller's classloader is not null and is not the same as or an ancestor of the system class loader, and the caller does not have the RuntimePermission("getClassLoader").

2. IllegalStateException - If invoked recursively during the construction of the classloader specified by the "java.system.class.loader" property.

3. Error - If the system property "java.system.class.loader" is defined but the named class could not be loaded, the provider class does not define the required constructor or an exception is thrown by that constructor when it is invoked. The underlying cause of the error can be retrieved via the Throwable.getCause() method.

Approach

Java

package com.ClassLoader;

public class ClassLoadergetSystemClassLoader {
    public static void main(String[] args) {

        ClassLoader classLoader =
ClassLoader.getSystemClassLoader();

        System.out.println(classLoader);
    }
}

Output:

jdk.internal.loader.ClassLoaders$AppClassLoader@443b7951


Some other methods of ClassLoader class

clearAssertionStatus()This method sets the default assertion status for this class loader to false and discards any package defaults or class assertion status settings associated with the class loader.

getDefinedPackage(String)This method returns a Package of the given name that has been defined by this class loader.

getDefinedPackages()This method returns all of the Packages that have been defined by this class loader. 

getName()This method returns the name of this class loader or null if this class loader is not named.

getParent()This method returns the parent class loader for delegation. Some implementations may use null to represent the bootstrap class loader.

ClassLoader.getPlatformClassLoader()This method returns the platform class loader. All platform classes are visible to the platform class loader.

getResource(String)This method finds the resource with the given name.

getResourceAsStream(String)This method returns an input stream for reading the specified resource.

getResources(String)This method finds all the resources with the given name.

ClassLoader.getSystemClassLoader()This method returns the system class loader. 

ClassLoader.getSystemResource(String)This method finds a resource of the specified name from the search path used to load classes. 

ClassLoader.getSystemResourceAsStream(String)This method is open for reading, a resource of the specified name from the search path used to load classes.

ClassLoader.getSystemResources(String)This method finds all resources of the specified name from the search path used to load classes.

getUnnamedModule()This method returns the unnamed Module for this class loader.

isRegisteredAsParallelCapable()This method returns true if this class loader is registered as parallel capable, otherwise false.

loadClass(String)This method loads the class with the specified binary name.

resources(String)This method returns a stream whose elements are the URLs of all the resources with the given name.

setClassAssertionStatus(String, boolean)This method sets the desired assertion status for the named top-level class in this class loader and any nested classes contained therein.

setDefaultAssertionStatus(boolean)This method sets the default assertion status for this class loader.

setPackageAssertionStatus(String, boolean)This method sets the package default assertion status for the named package. 

No comments:

Post a Comment