设计模式之享元模式
2016-03-23 20:08
288 查看
试想,在颗粒度水平较低时候(细粒度)使用对象是很好的,但是开销却令人望而却步.而享元模式则是将非共享的部分抽离出来,直到一些方法被调用才提供方法.
public class ConnectionPool { private Vector<Connection> pool; /*公有属性*/ private String url = "jdbc:mysql://localhost:3306/test"; private String username = "root"; private String password = "root"; private String driverClassName = "com.mysql.jdbc.Driver"; private int poolSize = 100; private static ConnectionPool instance = null; Connection conn = null; /*构造方法,做一些初始化工作*/ private ConnectionPool() { pool = new Vector<Connection>(poolSize); for (int i = 0; i < poolSize; i++) { try { Class.forName(driverClassName); conn = DriverManager.getConnection(url, username, password); pool.add(conn); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } } /* 返回连接到连接池 */ public synchronized void release() { pool.add(conn); } /* 返回连接池中的一个数据库连接 */ public synchronized Connection getConnection() { if (pool.size() > 0) { Connection conn = pool.get(0); pool.remove(conn); return conn; } else { return null; } } }
相关文章推荐
- kafka不消费
- Anaconda安装theano出现错误
- 如何编写Linux设备驱动程序
- 类的载入机制
- 类的组合
- 3930: [CQOI2015]选数|递推|数论
- HA高可用集群(双机热备)
- 状态栏iOS
- 在Apache中配置虚拟主机 LAMP
- mac系统卸载okg包命令
- 二叉树的深搜与广搜
- POJ 3311 Hie with the Pie 状压DP
- Linux vnc配置报错 Could not init font path element usr share X11 fonts misc, removing from
- 虚指针存在证明及虚函数表
- 修改 http/https header
- MySQL root密码找回
- apache不记录指定文件类型日志
- Integer与int的种种比较你知道多少?
- Win7系统CMD进入文件夹目录的命令
- powerDesigner使用教程