扩展类加载器 Extension ClassLoader

Posted 谷哥的小弟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了扩展类加载器 Extension ClassLoader相关的知识,希望对你有一定的参考价值。


版权声明

  • 本文原创作者:谷哥的小弟
  • 作者博客地址:http://blog.csdn.net/lfdfhl

概述

扩展类加载器(Extension ClassLoader)由sun.misc.Launcher$ExtClassLoader实现,它是java.lang.ClassLoader的子类。该类加载器负责加载Java的扩展库JAVA_HOME/jre/lib/ext/*.jar或者java.ext.dirs路径下的内容。

示例

package com.classloader;

import java.io.File;
import java.util.StringTokenizer;
/**
* 本文作者:谷哥的小弟 
* 博客地址:http://blog.csdn.net/lfdfhl
* 示例描述:类加载器
*/
public class TestClassLoader1 

    public static void main(String[] args) 
        File[] fileArray = getExtDirs();
        for(File file:fileArray) 
            System.out.println(file);
        
    

    // 获取扩展类库
    public static File[] getExtDirs() 
        String string = System.getProperty("java.ext.dirs");
        File[] extDirs = null;
        if (string != null) 
            StringTokenizer stringTokenizer = new StringTokenizer(string, File.pathSeparator);
            int number = stringTokenizer.countTokens();
            extDirs = new File[number];
            for (int i = 0; i < number; i++) 
                String token = stringTokenizer.nextToken();
                extDirs[i] = new File(token);
            
         else 
            extDirs = new File[0];
        
        return extDirs;
    


以上是关于扩展类加载器 Extension ClassLoader的主要内容,如果未能解决你的问题,请参考以下文章

类加载器

Java 类加载器

类加载器

面试题思考:其实类加载器的加载机制很简单

Android 插件之类加载器

JVM类加载器