美文网首页
数据库连接池与代理模式

数据库连接池与代理模式

作者: Responsibility_ | 来源:发表于2020-07-28 13:58 被阅读0次

数据库连接

数据库连接是一种关键的、有限的、昂贵的资源,对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。

连接池

数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放,空闲时间超过最大空闲时间的数据库连接,来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能.

连接池与JDBC技术差别

在JDBC中,Connection对象需要关闭,用close()方法关闭,那么整个连接就会完全销毁,连接的创建是十分消耗计算机资源的.

因此,在连接池一次性创建多个连接,每次使用时从池中获得连接即可,使用完毕也将连接放回到连接池,并非销毁.很大程度上节省了创建连接,销毁连接对计算机性能的消耗.

连接池用到了代理模式来解决获取和关闭连接.
代码示例

Connection connection1 = JDBCUtilsx.createConnection();
        System.out.println("连接池的对象" + connection1);
        connection1.close();

        Connection connection2 = DriverManager.getConnection(
                "jdbc:mysql://47.108.65.254/ApesourceAggregateData?useSSL=false&serverTimezone=UCT", "apesource_stu",
                "Apesource=1024");
        System.out.println("JDBC创建的connection" + connection2);
        connection2.close();

打印结果:连接池中ProxyConetion

image.png

总的来说JDBC中关闭连接阵时真正的连接,而连接池是归还连接到连接池中

常见的Java开源数据库连接池

相关文章

网友评论

      本文标题:数据库连接池与代理模式

      本文链接:https://www.haomeiwen.com/subject/xkcslktx.html