1 Star 0 Fork 38

云栖星野/MyFlowEngine

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
ClassLoaderTest.java 1.68 KB
一键复制 编辑 原始数据 按行查看 历史
zhiqiang.liu 提交于 2019-05-31 12:11 +08:00 . initial
package classloader;
import java.io.IOException;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.LinkedHashSet;
import java.util.Set;
public class ClassLoaderTest {
@SuppressWarnings({ "rawtypes", "resource" })
public static void main(String[] args) throws ClassNotFoundException, IOException {
Thread thread = Thread.currentThread();
ClassLoader classLoader = thread.getContextClassLoader();
System.out.println(classLoader);
//
ClassLoader parent = classLoader;
parent = parent.getParent();
while (null != parent) {
System.out.println(parent);
parent = parent.getParent();
}
// 实际加载一个jar包来测试
Set<URL> set = new LinkedHashSet<URL>();
set.add(new URL("file:///C:/Users/ww/Desktop/lion-client-1.1.5-plugin.jar"));
URL[] array = set.toArray(new URL[set.size()]);
URLClassLoader uLoader = new URLClassLoader(array);
thread.setContextClassLoader(uLoader);
System.out.println(uLoader);
System.out.println(uLoader.getParent());
// 加载一个类
Class clazz = uLoader.loadClass("com.dianping.lion.Environment");
System.out.println(clazz.getClassLoader());
clazz = uLoader.loadClass("java.lang.Integer");
System.out.println(clazz.getClassLoader());
clazz = uLoader.loadClass("classloader.ClassLoaderTest");
System.out.println(clazz.getClassLoader());
//
System.out.println("--------------------");
uLoader = new URLClassLoader(array);
clazz = uLoader.loadClass("com.dianping.lion.Environment");
System.out.println(clazz.getClassLoader());
//
uLoader = new URLClassLoader(array);
clazz = uLoader.loadClass("com.dianping.lion.Environment");
System.out.println(clazz.getClassLoader());
uLoader.close();
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/chenld/MyFlowEngine.git
git@gitee.com:chenld/MyFlowEngine.git
chenld
MyFlowEngine
MyFlowEngine
master

搜索帮助