人工智能专家系统程序不同于一般的问题解决软件
程序开发中存在哪些问题?
首先,必须为每个 Web 请求建立数据库连接。 建立连接是一个耗时的活动,每次需要0.05s到1s,并且系统还需要分配内存资源。 此时对于一个或几个数据库操作,你可能感觉不到系统有多大的开销。 但对于当今的Web应用程序,尤其是大型电子商务网站来说,数百甚至数千人同时在线是很正常的。 在这种情况下,频繁的数据库连接操作必然会占用大量的系统资源,网站的响应速度必然会下降。 严重时甚至可能导致服务器崩溃。 并非危言耸听,这是制约一些电商网站发展的技术瓶颈。 其次,每个数据库连接在使用后都必须断开。否则,如果程序因异常而无法关闭,就会导致数据库系统内存泄漏,最终你将不得不…全部
首先,必须为每个 Web 请求建立数据库连接。 建立连接是一个耗时的活动,每次需要0.05s到1s,并且系统还需要分配内存资源。 此时对于一个或几个数据库操作,你可能感觉不到系统有多大的开销。
但对于当今的Web应用程序,尤其是大型电子商务网站来说,数百甚至数千人同时在线是很正常的。 在这种情况下,频繁的数据库连接操作必然会占用大量的系统资源,网站的响应速度必然会下降。 严重时甚至可能导致服务器崩溃。
并非危言耸听,这是制约一些电商网站发展的技术瓶颈。 其次,每个数据库连接在使用后必须断开。 否则,如果程序因异常而无法关闭,就会导致数据库系统出现内存泄漏,最终不得不重新启动数据库。
另外,这种开发无法控制创建的连接对象的数量,系统资源会被不考虑地分配。 如果连接过多,还可能导致内存泄漏和服务器崩溃。 数据库连接池(连接池)的工作原理 1、基本概念和原理 从上面的分析可以看出,问题的根源在于数据库连接资源的低效管理。
我们知道,共享资源有一个非常著名的设计模式:资源池。 这种模式正是为了解决资源频繁分配和释放带来的问题。 为了解决上述问题,可以采用数据库连接池技术。 数据库连接池的基本思想是为数据库连接建立一个“缓冲池”。
预先将一定数量的连接放入缓冲池中。 当需要建立数据库连接时,只需从“缓冲池”中取出一个,用完后放回去即可。 我们可以通过设置连接池的最大连接数来防止系统无休止地连接数据库。 更重要的是,我们可以通过连接池管理机制监控数据库连接的数量和使用情况,为系统开发、测试和性能调整提供依据。
连接池的基本工作原理如下图2所示。 2、服务器自带的连接池。 JDBC API 不提供连接池方法。 一些大型WEB应用服务器如BEA的WebLogic和IBM的WebSphere提供了连接池机制,但必须有第三方专用的类方法支持连接池的使用。