Java获得指定ClassLoader所加载的类列表
2009-12-30 19:00
351 查看
一直想实现像DriverManager那样的getConnection方法,通过此方法就可以获得连接,而且还不用指定Driver,但前提是Driver已经通过Class.forName()或new Driver()进行了加载。今天终于得以实现。
这样一来,我们就可以实现和DriverManager类似的功能了。
package quiz; import java.lang.reflect.Field; public class ClassLoaderDriver { /** * @param args * @throws NoSuchFieldException * @throws SecurityException * @throws IllegalAccessException * @throws IllegalArgumentException * @throws ClassNotFoundException */ public static void main(String[] args) throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException, ClassNotFoundException { Class.forName("com.mysql.jdbc.Driver"); Field field = ClassLoader.class.getDeclaredField("classes"); field.setAccessible(true);//设置该成员变量为可访问 System.out.println(field.get(ClassLoader.getSystemClassLoader())); } }
这样一来,我们就可以实现和DriverManager类似的功能了。
相关文章推荐
- Java使用URLClassLoader加载指定位置的类
- Java 类加载机制 ClassLoader Class.forName 内存管理 垃圾回收GC
- Java中的ClassLoader 动态加载机制
- Java Class的热替换 自定义ClassLoader加载.class
- 深入探讨 Java 类加载器 https://www.ibm.com/developerworks/cn/java/j-lo-classloader/
- Java 类加载机制 ClassLoader Class.forName 内存管理 垃圾回收GC
- Java ClassLoader加载机制理解 实际例子
- java ClassLoader加载资源
- java动态加载指定的类或者jar包反射调用其方法-涉及其他jar中的类就报ClassNotFound问题分析及解决思路
- 已经加载了类库,还是报错启动报错:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderList
- java自定义ClassLoader加载指定的class文件
- java中的类加载器(原文地址:http://www.ibm.com/developerworks/cn/java/j-lo-classloader/)
- Java中加载配置文件的集中方式,以及利用ClassLoader加载文件
- Java Class的热替换 自定义ClassLoader加载.class
- 类的加载器 java.lang.ClassLoader
- ClassLoader加载指定的类需注意六个细节或报ClassNotFundEception异常总结
- java 的类加载机制(classloader)
- 分析Java的类加载器与ClassLoader(二):classpath与查找类字节码的顺序,分析ExtClassLoader与AppClassLoader的源码
- Java ClassLoader 类加载 与 SOA后期优化
- Java中加载配置文件的集中方式,以及利用ClassLoader加载文件