Java基础系列:为什么要使用数据库连接池?

你在Java面试时是否有被问过关于数据库连接池的问题?相信还是有一些Java初级开发还没有了解到数据库连接池的作用。

什么是数据库连接?

Java访问数据库前首先需要建立连接,后续才能执行一些SQL。

怎样创建数据库连接?

如果使用JDBC,可以这样创建一个连接。获取到connection对象后,即可通过对象的api创建语句,执行一些增删改查的SQL语句。

String url = "jdbc:mysql://localhost:3306/demo";
String username = "root";
String password = "db1234";
Connection connection = DriverManager.getConnection(url, username, password);

由于数据库服务器的连接资源是有限的,所以当我们使用完连接后,需要调用close方法关闭连接。

connection.close();

频繁创建连接、关闭连接会怎样?

我们写个代码测试一下:连接本地的MySQL数据库,然后断开连接,重复执行1000次,测试结果是总耗时24秒。

Java基础系列:为什么要使用数据库连接池?

很明显,这个耗时在我们业务系统生产环境是不能接受的。

使用数据库连接池减少开销

由于减少由于频繁访问数据库而产生的连接数据库的开销,我们引入数据库连接池的概念,连接池就是把一定数量的数据库连接缓存在一个池中,有需要的时候就从池里获取连接,当连接用完后,再把连接归还到池中,并不会真正把连接关闭。


以上只是让你对数据库连接池有一个直观的理解,如果在Java面试中被问到数据库连接池,可能会问一些更深入的知识点,如想了解更多,我们评论区再聊吧。

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章