位置:首頁 > Java技術 > java.lang > java.lang.Thread.getContextClassLoader()方法實例

java.lang.Thread.getContextClassLoader()方法實例

java.lang.Thread.getContextClassLoader() 方法返回該線程的上下文類加載器。上下文ClassLoader是在這個線程加載類和資源在運行時使用的代碼的線程的創建者提供的。

聲明

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

public ClassLoader getContextClassLoader()

參數

  • NA

返回值

此方法返回該線程的上下文類加載器。

異常

  • SecurityException -- 如果安全管理器存在並且其checkPermission方法不允許獲取上下文類加載器。

例子

下麵的例子顯示java.lang.Thread.getContextClassLoader()方法的使用。

package com.yiibai;

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