classloader分为3种:
bootstrap classloader jvm默认启动,c++实现,加载jre/lib/下的jar或者class
extension classloader java类,加载jre/lib/ext/或者java.ext.dirs
application classloader java类,加载java应用中classpath所有类
classloader使用的是全盘加载委托机制,即加载一个class时,这个class依赖和引用的所有class也由这个classloader载入,除非显示的使用另一个classloader载入
动态改变classloader
ClassLoader classLoader = new URLClassLoader(urls);
Thread.currentThread().setContextClassLoader(classLoader);
Class clazz=classLoader.loadClass("com.company.MyClass");