首页 考试吧论坛 Exam8视线 考试商城 网络课程 模拟考试 考友录 实用文档 求职招聘 论文下载
2011中考 | 2011高考 | 2012考研 | 考研培训 | 在职研 | 自学考试 | 成人高考 | 法律硕士 | MBA考试
MPA考试 | 中科院
四六级 | 职称英语 | 商务英语 | 公共英语 | 托福 | 雅思 | 专四专八 | 口译笔译 | 博思 | GRE GMAT
新概念英语 | 成人英语三级 | 申硕英语 | 攻硕英语 | 职称日语 | 日语学习 | 法语 | 德语 | 韩语
计算机等级考试 | 软件水平考试 | 职称计算机 | 微软认证 | 思科认证 | Oracle认证 | Linux认证
华为认证 | Java认证
公务员 | 报关员 | 银行从业资格 | 证券从业资格 | 期货从业资格 | 司法考试 | 法律顾问 | 导游资格
报检员 | 教师资格 | 社会工作者 | 外销员 | 国际商务师 | 跟单员 | 单证员 | 物流师 | 价格鉴证师
人力资源 | 管理咨询师考试 | 秘书资格 | 心理咨询师考试 | 出版专业资格 | 广告师职业水平
驾驶员 | 网络编辑
卫生资格 | 执业医师 | 执业药师 | 执业护士
会计从业资格考试会计证) | 经济师 | 会计职称 | 注册会计师 | 审计师 | 注册税务师
注册资产评估师 | 高级会计师 | ACCA | 统计师 | 精算师 | 理财规划师 | 国际内审师
一级建造师 | 二级建造师 | 造价工程师 | 造价员 | 咨询工程师 | 监理工程师 | 安全工程师
质量工程师 | 物业管理师 | 招标师 | 结构工程师 | 建筑师 | 房地产估价师 | 土地估价师 | 岩土师
设备监理师 | 房地产经纪人 | 投资项目管理师 | 土地登记代理人 | 环境影响评价师 | 环保工程师
城市规划师 | 公路监理师 | 公路造价师 | 安全评价师 | 电气工程师 | 注册测绘师 | 注册计量师
缤纷校园 | 实用文档 | 英语学习 | 作文大全 | 求职招聘 | 论文下载 | 访谈 | 游戏
您现在的位置: 考试吧(Exam8.com) > 计算机等级考试 > 计算机二级 > JAVA > 复习资料 > 正文

2011年计算机等考二级JAVA学习精华整理(63)

来源:考试吧Exam8.com) 2010-11-29 11:34:35 考试吧:中国教育培训第一门户 模拟考场
考试吧整理了2011年计算机的等考二级JAVA学习精华,帮助考生备考。

  二、具体实现

  DBConnectionManager.java程序清单如下:

  001 import java.io.*;

  002 import java.sql.*;

  003 import java.util.*;

  004 import java.util.Date;

  005

  006 /**

  007 * 管理类DBConnectionManager支持对一个或多个由属性文件定义的数据库连接

  008 * 池的访问.客户程序可以调用getInstance()方法访问本类的唯一实例.

  009 */

  010 public class DBConnectionManager {

  011 static private DBConnectionManager instance; // 唯一实例

  012 static private int clients;

  013

  014 private Vector drivers = new Vector();

  015 private PrintWriter log;

  016 private Hashtable pools = new Hashtable();

  017

  018 /**

  019 * 返回唯一实例.如果是第一次调用此方法,则创建实例

  020 *

  021 * @return DBConnectionManager 唯一实例

  022 */

  023 static synchronized public DBConnectionManager getInstance() {

  024 if (instance == null) {

  025 instance = new DBConnectionManager();

  026 }

  027 clients++;

  028 return instance;

  029 }

  030

  031 /**

  032 * 建构函数私有以防止其它对象创建本类实例

  033 */

  034 private DBConnectionManager() {

  035 init();

  036 }

  037

  038 /**

  039 * 将连接对象返回给由名字指定的连接池

  040 *

  041 * @param name 在属性文件中定义的连接池名字

  042 * @param con 连接对象

  043 */

  044 public void freeConnection(String name, Connection con) {

  045 DBConnectionPool pool = (DBConnectionPool) pools.get(name);

  046 if (pool != null) {

  047 pool.freeConnection(con);

  048 }

  049 }

  050

  051 /**

  052 * 获得一个可用的(空闲的)连接.如果没有可用连接,且已有连接数小于最大连接数

  053 * 限制,则创建并返回新连接

  054 *

  055 * @param name 在属性文件中定义的连接池名字

  056 * @return Connection 可用连接或null

  057 */

  058 public Connection getConnection(String name) {

  059 DBConnectionPool pool = (DBConnectionPool) pools.get(name);

  060 if (pool != null) {

  061 return pool.getConnection();

  062 }

  063 return null;

  064 }

  065

  066 /**

  067 * 获得一个可用连接.若没有可用连接,且已有连接数小于最大连接数限制,

  068 * 则创建并返回新连接.否则,在指定的时间内等待其它线程释放连接.

  069 *

  070 * @param name 连接池名字

  071 * @param time 以毫秒计的等待时间

  072 * @return Connection 可用连接或null

  073 */

  074 public Connection getConnection(String name, long time) {

  075 DBConnectionPool pool = (DBConnectionPool) pools.get(name);

  076 if (pool != null) {

  077 return pool.getConnection(time);

  078 }

  079 return null;

  080 }

  081

  082 /**

  083 * 关闭所有连接,撤销驱动程序的注册

  084 */

  085 public synchronized void release() {

  086 // 等待直到最后一个客户程序调用

  087 if (--clients != 0) {

  088 return;

  089 }

  090

  091 Enumeration allPools = pools.elements();

  092 while (allPools.hasMoreElements()) {

  093 DBConnectionPool pool = (DBConnectionPool) allPools.nextElement();

  094 pool.release();

  095 }

  096 Enumeration allDrivers = drivers.elements();

  097 while (allDrivers.hasMoreElements()) {

  098 Driver driver = (Driver) allDrivers.nextElement();

  099 try {

  100 DriverManager.deregisterDriver(driver);

  101 log("撤销JDBC驱动程序 " + driver.getClass().getName()+"的注册");

  102 }

  103 catch (SQLException e) {

  104 log(e, "无法撤销下列JDBC驱动程序的注册: " + driver.getClass().getName());

  105 }

  106 }

  107 }

  108

  109 /**

上一页  1 2 3 4 5 6 7 8 9 下一页
  相关推荐:

  计算机等级考试二级Java经典算法大全汇总

  2010年9月计算机等级考试成绩查询时间汇总

   2011计算机等级考试二级JAVA学习精华汇总

文章搜索
版权声明:如果计算机等级考试网所转载内容不慎侵犯了您的权益,请与我们联系800@exam8.com,我们将会及时处理。如转载本计算机等级考试网内容,请注明出处。