Home » Java programming language

Java Thread Class ClassLoader getContextClassLoader() method with Example

Java Thread Class ClassLoader getContextClassLoader() method: Here, we are going to learn about the ClassLoader getContextClassLoader() method of Thread class with its syntax and example.
Submitted by Preeti Jain, on July 19, 2019

Thread Class ClassLoader getContextClassLoader()

  • This method is available in package java.lang.Thread.getContextClassLoader().
  • This method is used to return a context ClassLoader for this (Current) Thread.
  • This method is not static so this method is accessible with Thread class object it is not accessible with the class name.
  • The return type of this method is ClassLoader so it returns the context ClassLoader.
  • This method raises an exception (SecurityException) if this thread did not get the context ClassLoader.

Syntax:

    ClassLoader getContextClassLoader(){
    }

Parameter(s):

We don't pass any object as a parameter in the method of the Thread.

Return value:

The return type of this method is ClassLoader, it returns the context ClassLoader.

Java program to demonstrate example of getContextClassLoader() method

/*  We will use Thread class methods so we are importing 
    the package but it is not mandate because 
    it is imported by default
*/
import java.lang.Thread;

class ContextClassLoader extends Thread {
    // Override run() of Thread class
    public void run() {
        //Display a message for the end user 	
        System.out.println("The name of this thread is " + " " + Thread.currentThread().getName());
    }

    public static void main(String[] args) {
        // Creating an object of ContextClassLoader class
        ContextClassLoader ccl = new ContextClassLoader();

        // Creating an object of Thread class
        Thread th = new Thread(ccl);

        // Thread class start() method will call and it will ultimately 
        th.start();

        // getContextClassLoader() will return context ClassLoader 
        // and create a reference of ClassLoader
        ClassLoader cl = th.getContextClassLoader();

        // By using setContextClassLoader(ClassLoader cl) sets 
        // the context ClassLoader for this thread th
        th.setContextClassLoader(cl);
        System.out.println("The Context ClassLoader for this thread th is = " + cl);
        System.out.println("The Parent of the ClassLoader is = " + cl.getParent());
        System.out.println("The Class of the ClassLoader is = " + cl.getClass());
    }
}

Output

E:\Programs>javac ContextClassLoader.java

E:\Programs>java ContextClassLoader
The Context ClassLoader for this thread th is = sun.misc.Launcher$AppClassLoader@3082f392

The name of this thread is  Thread-1

The Parent of the ClassLoader is = sun.misc.Launcher$ExtClassLoader@65450f1f

The Class of the ClassLoader is = class sun.misc.Launcher$AppClassLoader


Comments and Discussions!

Load comments ↻





Copyright © 2024 www.includehelp.com. All rights reserved.