如何实现连接池
展开全部
连接池的作用就是预先和数据库建立好若干的连接并存储在连接池中,在使用的时候程序直接调用这些连接池中的连接而不是和数据库在发生连接建立的过程。
在一个程序中建立和销毁连接是很耗费资源的一件事情,所以连接池最主要的作用就是为了提高程序的运行效率。
根据上面的说法我们可以得出连接池实现的方法:
1.必须有一个容器来存储一些已有的连接,这样我们最容易想到的就是数组或者一些JAVA容器。
2.连接池的特性是取出或者放回去一个连接,所以最符合这种特性的容器应该是栈特性,所以我们一般使用LinkedList来当做连接池的容器。
3.连接池中间应该有一些预先建立好的连接来供程序使用,所以我们在初始化我们自己的连接池的时候应该有一个属性来设置我们连接池中的初始的链接数量。
4.既然连接池是用来建立连接的,所以在我们的程序使用完成连接以后就不能直接关闭连接而应该将使用完毕的连接放回连接池中间。
这样来说的话:我们的一个连接池必须有如下的几个特点:
1.必须有一个合适的方便存取的容器来放置很多的连接。
2.连接池必须提供弹出连接和取回连接的方法。
3.真实的数据库连接应该是连接池实现的而不是程序。
这样实现的程序我们就可以称之为一个最简单的连接池。
其他优化:
很简单了,比如说连接池的最小连接数,最大连接数,还有连接保持的最大时间,如果连接不够用的时候新建连接的数量,如何更好的维护这些连接等等。
以上就是连接池的实现原理了,不知道你懂了没有。
在一个程序中建立和销毁连接是很耗费资源的一件事情,所以连接池最主要的作用就是为了提高程序的运行效率。
根据上面的说法我们可以得出连接池实现的方法:
1.必须有一个容器来存储一些已有的连接,这样我们最容易想到的就是数组或者一些JAVA容器。
2.连接池的特性是取出或者放回去一个连接,所以最符合这种特性的容器应该是栈特性,所以我们一般使用LinkedList来当做连接池的容器。
3.连接池中间应该有一些预先建立好的连接来供程序使用,所以我们在初始化我们自己的连接池的时候应该有一个属性来设置我们连接池中的初始的链接数量。
4.既然连接池是用来建立连接的,所以在我们的程序使用完成连接以后就不能直接关闭连接而应该将使用完毕的连接放回连接池中间。
这样来说的话:我们的一个连接池必须有如下的几个特点:
1.必须有一个合适的方便存取的容器来放置很多的连接。
2.连接池必须提供弹出连接和取回连接的方法。
3.真实的数据库连接应该是连接池实现的而不是程序。
这样实现的程序我们就可以称之为一个最简单的连接池。
其他优化:
很简单了,比如说连接池的最小连接数,最大连接数,还有连接保持的最大时间,如果连接不够用的时候新建连接的数量,如何更好的维护这些连接等等。
以上就是连接池的实现原理了,不知道你懂了没有。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询