JDBC第四天
来源:互联网 发布:mysql 主流版本 编辑:程序博客网 时间:2024/05/22 22:19
单例模式:
遵循单例模式的类,只能获取唯一的一个对象
实现:无参构造私有,提供共有的获取唯一对象的方法
JdbcUtil中getConnection() :Connection遵循单例模式
if(conn == null){
....
conn = DriverManager.getConnection(....);
}
return conn;
equals:
public boolean equals(Object o){
if(o == null){
return false;
}
if(o == this)
return true;
if(!(o instanceof Person))
return false;
Person p = (Person)o;
if(this.get***().equals(p.get***())...)
return true;
return false;
}
Connection对象遵循单例模式,在多线程并发环境下,可能会出现数据不一致问题:
解决:
使用synchronized控制线程并发
synchronized可以修饰方法,和代码块
修饰代码块时,需要执行代码块中的多线程争抢的资源(临界资源)
使用synchronized注意:
1 加锁的粒度,粒度越大,效率越低,安全性越高
粒度越小,效率越高,安全性越低
2 临界资源的确定
3 线程之间通讯: wait/notify/notifyAll
死锁
线程局部变量:
ThreadLocal
将临界资源复制,给每个线程一个自己独立的副本资源
实现:
set(对象副本):
给当前的线程一个资源的副本
get() :资源副本
获取当前线程中所绑定的资源副本
- JDBC第四天
- JDBC第四节
- 第四章 JDBC
- JDBC第四讲:JDBC知识扩展
- 第四天AOP注解的方式以及spring的JDBC模板
- 第四章 规范和封装jdbc程序代码
- 第四章 Spring与JDBC的整合
- 第四天
- 第四天
- 第四天
- 第四天
- 第四天
- 第四天
- 第四天
- 第四天
- 第四天
- 第四天
- 第四天
- Mysql常用命令行大全
- 网站命名规范大全:CSS规范便于交流
- 内存分配
- 初学JSP--关于JDK和tomcat的基本配置
- 给自己的几点意见(我是该高兴还是伤心呢)
- JDBC第四天
- JDBC第五天
- 云计算三部曲之三:云端的精彩——让信息在指尖流动
- 关于map的count和find的效率以及空类调用效率(一)
- JDBC第六天
- tpm emulator, trouSerS安装运行小记
- 删除数据库(ASE/ASA/Oracle)表中的重复行(小结)
- 禁用飞信登录弹出自动升级的方法
- 1200 hdu