Java.lang.Thread.getContextClassLoader() 方法

描述

java.lang.Thread.getContextClassLoader() 方法返回此线程的上下文 ClassLoader。 上下文 ClassLoader 由线程的创建者提供,供在该线程中运行的代码在加载类和资源时使用。


声明

以下是 java.lang.Thread.getContextClassLoader() 方法的声明。

public ClassLoader getContextClassLoader()

参数

NA


返回值

此方法返回此线程的上下文 ClassLoader。


异常

SecurityException − 如果存在安全管理器并且其 checkPermission 方法不允许获取上下文 ClassLoader。


示例

下面的例子展示了 java.lang.Thread.getContextClassLoader() 方法的使用。

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();
   }
} 

让我们编译并运行上面的程序,这将产生下面的结果 −

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