近段时间有些同学做的项目出现了系统瘫痪的问题,如果少用户上线则没问题,但每当上千个用户进来一起用的时候系统就会崩溃了。只从发布了那个项目,一开始用则没问题,可是后来却慢慢地就用不了啦, 我个人认为原因主要是连接数据库或者程序不够优化的问题,当然关键不在于程序代码而应该是数据库连接方面。
以前我也听专家谈起过这个问题,都谈到数据库连接的问题。
应用程序与数据库连接底层用的是TCP/UDP连接,每一次连接都是这样。这好比建立一座桥是建立数据库连接,搬东西过桥属于数据传输。我们可想建一座桥费用是很大的,而搬东西费用相对来说低很多,这里的费用就相当于所消耗的时间。我们在CRUD数据的时候反复地建立连接和关闭连接,这个是很费时间的。所以在有很多客户访问的系统里,我们一般采取的手段是用数据库连接池。其实这不是什么新鲜的技术,这只是一种思想来的。我们可以用Vector、ArrayList、LinkedList来装载建立起的数据库连接,就相当于一开始我们建好很多桥,供大家用。要Connection对象则从集合容器拿,不用的时候就放回该容器,这里所说的不用指的是关闭Connection。但是拿Connection的逻辑稍微复杂一点点,一个是同步问题,一个是最大连接数问题,一个是不够用问题,所以这要考虑的比较多点。不过其实也不难。我针对这些找到了一个网址http://www.javaeye.com/topic/26458 这里有一个小小的问题,我个人觉得好像没有写全代码,在DBConnectionPool这个类应该还有一个方法,那就是new
一个新的数据库连接,这个目的是为了在集合容器里面的所有连接都被用完了,不够用了,所以必定要新建立一个连接,而不能让别人在这等空的连接。
这里用Javabean封装的类其实跟Hibernate封装的数据库连接池十有八九都很相似,只不多里面的机制比较好,它用资源文件(即xx.properties)导入数据库连接数,用一个可视化来操作数据库连接。可视化操作的数据就是存到这个资源文件来的。Hibernate的数据库连接池也是这样的。只不过是人性化了一点点。
我觉得有很多客户访问的网站或者一些web管理软件,应该用连接池。希望对大家有帮助。大家多多支持!!!
分享到:
相关推荐
JAVA数据库连接池 能够减少对内存的消耗 提高了性能
Java数据库连接池的使用示例,与大家共享下
无框架配置,纯java数据库连接池的配置。rar包中包含2个文件,一个是DBPool.java文件,一个是配置文件。
数据库链接池,以及连接池的概念,自己做的笔记
该文章把数据库连接池的内部原理写的非常透彻,注释也非常完整,是非常难得的一篇好文章,让开发人员可以更深层次的理解数据库连接池。该文件对可以设置连接池的初始大小、连接池自动增加的大小、 连接池最大的大小...
Java数据库连接池.
java 数据库 连接池驱动.rar java 数据库 连接池驱动.rar java 数据库 连接池驱动.rar
Java数据库连接池详解(一)
Java数据库连接池详解(三)
java 数据库连接池的实现代码 java 数据库连接池的实现代码 java 数据库连接池的实现代码
java数据库连接池connectionPool.zip java数据库连接池connectionPool.zip java数据库连接池connectionPool.zip java数据库连接池connectionPool.zip java数据库连接池connectionPool.zip
java 数据库连接池 源代码 代码干净整洁
Java数据库连接池 开发必备,供互相学习
一个效果非常不错的JAVA数据库连接池,代码很清楚,注释很多。