- 0
- 0
- 约1.13万字
- 约 29页
- 2023-09-16 发布于北京
- 举报
JDBC开发
王昭珽
北京传智播客教育
Tip:使用数据库连接池优化程序性能
⚫ 应用程序直接获取链接的缺点
用户1
connection
用户2 Dao
servlet DB
用户3
⚫ 缺点:用户每次请求都需要向数据库获得链接,而
数据库创建连接通常需要消耗相对较大的资源,创
用户n 建时间也较长。假设网站一天10万访问量,数据库
服务器就需要创建10万次连接,极大的浪费数据库
的资源,并且极易造成数据库服务器内存溢出、拓
机。
北京传智播客教育
Tip:使用数据库连接池优化程序性能
connection connection connection
连接池
用户1 connection connection
用户2
Dao
servlet
用户3 用从连接池 DB
中获得的连
接与数据库
通迅
用户n
北京传智播客教育
编写一个基本的连接池实现连接复用
北京传智播客教育
Tip:编写数据库连接池
⚫ 编写连接池需实现java.sql.DataSource接口。DataSource
接口中定义了两个重载的getConnection方法:
• Connection getConnection()
• Connection getConnection(String username, String password)
⚫ 实现DataSource接口,并实现连接池功能的步骤:
• 在DataSource构造函数中批量创建与数据库的连接,并把创建的连
接加入LinkedList对象中。
• 实现getConnection方法,让getConnection方法每次调用时,从
LinkedList中取一个Connection返回给用户。
• 当用户使用完Connection,调用Connection.close()方法时,
Collection对象应保证将自己返回到LinkedList中,而不要把conn还给
数据库。
• Collection保证将自己返回到LinkedList中是此处编程的难点。
北京传智播客教育
Tip:数据库连接池核心代码
⚫ 使用动态代理技术构建连接池中的conne
原创力文档

文档评论(0)