Java.lang.Thread.getContextClassLoader() Method

Advertisements


Description

The java.lang.Thread.getContextClassLoader() method returns the context ClassLoader for this Thread. The context ClassLoader is provided by the creator of the thread for use by code running in this thread when loading classes and resources.

Declaration

Following is the declaration for java.lang.Thread.getContextClassLoader() method

public ClassLoader getContextClassLoader()

Parameters

  • NA

Return Value

This method returns the context ClassLoader for this Thread.

Exception

  • SecurityException -- if a security manager exists and its checkPermission method doesn't allow getting the context ClassLoader.

Example

The following example shows the usage of java.lang.Thread.getContextClassLoader() method.

package com.tutorialspoint;

import java.lang.*;

public class ThreadDemo implements Runnable {

   Thread t;

   ThreadDemo() {

      t = new Thread(this);
      // this will call run() function
      t.start();
   }

   public void run() {

      // returns the context ClassLoader for this Thread
      ClassLoader c = t.getContextClassLoader();

      // sets the context ClassLoader for this Thread
      t.setContextClassLoader(c);
      System.out.println("Class = " + c.getClass());
      System.out.println("Parent = " + c.getParent());
   }

   public static void main(String args[]) {
      new ThreadDemo();
   }
} 

Let us compile and run the above program, this will produce the following result:

Class = class sun.misc.Launcher$AppClassLoader
Parent = sun.misc.Launcher$ExtClassLoader@35a16869



Advertisements
Advertisements