码迷,mamicode.com
首页 > 其他好文 > 详细

ClassLoader

时间:2019-03-08 23:40:13      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:类加载器   arch   contex   classpath   str   信息   hiera   load   tostring   

获取classpath下的资源文件

先调用当前线程的context加载器的getResourceAsStream方法去获取

没找到,在调用当前传入类的类加载器的getResourceAsStream方法获取

    public static InputStream getResourceAsStream(Class clazz, String name) {
        InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream(name);
        if (in == null) {
            in = clazz.getResourceAsStream(name);
        }
        return in;
    }

递归获取加载某个类的类加载器链条信息

    private static String showClassLoaderHierarchy(ClassLoader cl, String delim, String tabText, int indent) {
        if (cl == null) {
            String s = "null classloader " + delim;
            ClassLoader ctxcl = Thread.currentThread().getContextClassLoader();
            s += "Context class loader=" + ctxcl + " hc=" + ctxcl.hashCode();
            return s;
        }
        StringBuilder s = new StringBuilder(); //"ClassLoader: ";
        for (int i = 0; i < indent; i++) {
            s.append(tabText);
        }
        s.append(cl).append(" hc=").append(cl.hashCode()).append(delim);
        ClassLoader parent = cl.getParent();
        return s.toString() + showClassLoaderHierarchy(parent, delim, tabText, indent + 1);
    }

 

ClassLoader

标签:类加载器   arch   contex   classpath   str   信息   hiera   load   tostring   

原文地址:https://www.cnblogs.com/chenpi/p/9501222.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!