Java获得指定ClassLoader所加载的类列表
一直想实现像DriverManager那样的getConnection方法,通过此方法就可以获得连接,而且还不用指定Driver,但前提是Driver已经通过Class.forName()或new Driver()进行了加载。今天终于得以实现。
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类似的功能了。
相关文档:
类的初始化和对象初始化是 JVM 管理的类型生命周期中非常重要的两个环节,Google 了一遍网络,有关类装载机制的文章倒是不少,然而类初始化和对象初始化的文章并不多,特别是从字节码和 JVM 层次来分析的文章更是鲜有所见。
本文主要对类和对象初始化全过程进行分析,通过一个实际问题引入,将源代码转换成 JVM 字节码后, ......
呵呵!还是先给大家出个题吧!
public class PreferenceTest {
public int testVar = 0;
/**
* create data: 2009-12-30</br> Just for me to test preference.
*
* @author XiangJie
* @param args
*
*/
public static void main(String[] args) {
// TODO Auto-generated method stu ......
我们知道,网页游戏(Web game)简单讲是基于网站开发技术,以标准http协议为基础表现形式的无客户端或基于浏览器内核的微客户端游戏。网页游戏出现得很早,最早的网页游戏其实就是一些用HTML写的简单网页,界面简陋,交互手段贫乏,玩家与游戏的每次交互都会引起浏览器刷屏一次,因此一直难以登上大雅之堂。再者,很重要的 ......
RT
package
com.fxt.test;
import
org.apache.commons.mail.EmailException;
import
org.apache.commons.mail.SimpleEmail;
public
class
Mail {
public
static
void
m ......
package com.svse.dao;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class UserDAO {
/*
* java调用存储过程
*/
public int addUser(String username,int userage)
{
Connection conn = null;
int useri ......