一、数据库连接池采用单例模式优点
1、减少系统资源开销,由于单例只保留一个对象。
2、提高创建速度,每次都获取已经存在的对象因此提高创建速度
3、全局共享对象,由于单例在系统中只存在一个对象实例,因此任何地方使用此对象都是一个对象
避免多实例创建使用时产生的逻辑错误。
4、注意多线程下一开始没有实例,两个线程都判断没有实例,则创建出两个实例,违反单例模式,所以要加锁。
静态内部类的优点是:外部类加载时并不需要立即加载内部类,内部类不被加载则不去初始化INSTANCE,故而不占内存。即当SingleTon第一次被加载时,并不需要去加载SingleTonHoler,只有当getInstance()方法第一次被调用时,才会去初始化INSTANCE,第一次调用getInstance()方法会导致虚拟机加载SingleTonHoler类,这种方法不仅能确保线程安全,也能保证单例的唯一性,同时也延迟了单例的实例化。
5、为什么定义变量是static的,因为他要被static方法使用,所以要定义成static的