用Singleton模式
public class DBConnPool {
    private static DBConnPool db ;
    private DBConnPool(){}
    public static void getInstance() {
       return db;
    } 
}

解决方案 »

  1.   

    一般在web服务器端的连接池程序都是在一个容器中的,所以可以被其他的对象见到,也就是其他对象和连接池对象是在一个进程中的,这样就可以被另外的对象引用了,而如何保持唯一性就可用上面的单子模式,返回引用就可以了。而为什么不被回收是因为有引用在上面,而引用为什么一直有效,该类对象是在web服务器初始化时有的,所以直到web服务器关闭才消失。
     
    个人意见,请谨慎接受!