提高数据库操作的可靠性

原创 2004年09月24日 12:59:00

  Java中的数据库操作是比较频繁的,很多人在处理数据库操作时往往拿不准,只能保证程序正常运行下没有问题,但是很多都没有释放资源或者没有正确的释放资源,等到有问题又不知道怎么回事!这里给出一个通过JDBC操作数据库的简单例子, 希望有一定的参考价值,为了方便,通过数据库连接工厂获得连接。
有关连接工厂的代码:http://blog.csdn.net/treeroot/archive/2004/09/24/115372.aspx

先看看下面这段代码,你是否觉得有问题?

try {
  Connection conn = ConnectionFactory_JDBC2.getConnection();
  Statement state = conn.createStatement();
  ResultSet rs = state.executeQuery("select * from table");
  //这里处理数据
  rs.close();
  state.close();
  conn.close();  //有的连这一句都没有
}
catch(SQLException e){
  //这里可以自己处理,也可以抛出
}

这里给出一个替代实现:

Connection conn = null;
Statement state = null;
ResultSet rs = null;
try {
  conn = ConnectionFactory_JDBC2.getConnection();
  state = conn.createStatement();
  rs = state.executeQuery("select * from table");
  //处理数据
}
catch(SQLException e){
  //这里可以自己处理,也可以抛出
}
finally{
  if(rs!=null){
    try{rs.close();}catch(SQLException e){}
  }
  if(state!=null){
    try{state.close();}catch(SQLException e){}
  }
  ConnectionFactory_JDBC2.closeConnection(conn);
}

这个实现好像更加复杂了,但是可靠性更高了,虽然第一段代码的实现一般不会有什么问题,确实很难会有问题(有时候想让Windows兰屏还真不容易),但是还是强烈建议通过finally释放你的资源,不要让潜在的危险存在!

如何提高UDP的可靠性

关键在于两点,从应用层角度考虑: 1 提供超时重传,能避免数据报丢失。 2 提供确认序列号,可以对数据报进行确认和排序。 本端:首先在UDP数据报定义一个首部,首部包含确认序列号和时间戳...
  • ljlstart
  • ljlstart
  • 2016年04月16日 11:53
  • 1591

提高软件可靠性的方法和技术

提高软件可靠性的方法和技术            1.建立以可靠性为核心的质量标准     在软件项目规划和需求分析阶段就要建立以可靠性为核心的质量标准。这个质量标准包括实现的功能、可...
  • vbloveshllm
  • vbloveshllm
  • 2013年07月17日 09:24
  • 3147

如何提高软件可靠性

一、软件可靠性定义     长期运行的稳定性(鲁棒性)     输出数据的正确性     异常情况的可记录性 二、影响软件可靠性的因素 1)  需求分析定义错误     由于分...
  • Nocky
  • Nocky
  • 2008年08月07日 11:43
  • 3089

如何让UDP变得靠谱一些(增加UDP的可靠性)

最经在写一个聊天系统,用到了UDP协议,但是要给UDP增加一些可靠性,终于在UNP这本书中找到了些许实现的思想,特来写写博客,与大伙交流一下思想,写的不够深入只是实现了书中所写,欢迎拍砖和留言交流!!...
  • kai8wei
  • kai8wei
  • 2016年03月22日 16:05
  • 1318

TCP如何保证它的通信的可靠性

主要用下列方式提供可靠性 1,应用数据被分割成TCP
  • silence306
  • silence306
  • 2014年09月03日 15:34
  • 471

114-给 udp 增加可靠性(二)

这一节的目标是完成一个最简单的尽量可靠 UDP 程序,实现的功能如下: 客户端给服务端发送数据,服务端收到数据后立即将数据原样发送回去,进行确认。 客户端收到服务端的确认后,检查是不是自己刚刚发送...
  • q1007729991
  • q1007729991
  • 2018年01月28日 17:54
  • 39

UDP套接字编程以及提高UDP可靠性的方法

UDP套接字          服务器:①创建套接字socket();②绑定bind();③udp收发:recvfrom,sendto(TCP中的收发可以当成文件用read、write完成;UDP必...
  • wxt_hillwill
  • wxt_hillwill
  • 2017年06月28日 16:20
  • 434

计算机网络的可靠性

计算机网络的可靠性概念最早是在上世纪70年代出现,它具体是指计算机在给定的时间以及特定的环境内,保证所有业务可靠完成。计算机网络可靠性的决定因素有给定时间、特定环境以及业务完成能力,计算机网络可靠性可...
  • u014625418
  • u014625418
  • 2014年04月09日 17:24
  • 416

提高数据的可靠性

1 对文件的写入应采用创建临时文件、完成写入、替换原文件的模式 2 对关键数据写入后要fflush而且fsync,同时采用较小的粒度,保证在一个磁盘单元读写内肯定完成,例如64字节(还是512?),这...
  • piaoairy219
  • piaoairy219
  • 2013年12月24日 17:43
  • 321

如何衡量存储系统的可靠性

衡量存储系统可靠性的指标通常可用性(availability)和持久性(durability): 可用性(availability):在任何给定的时刻,系统都可以正确的操作,可根据用户的行为来执行它...
  • ArivnXu
  • ArivnXu
  • 2016年12月08日 19:55
  • 640
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:提高数据库操作的可靠性
举报原因:
原因补充:

(最多只允许输入30个字)