iteye_6244 2011-06-16 21:11
浏览 278
已采纳

阿里巴巴面试题 java连接池中连接如何收缩

阿里巴巴面试的时候问到的一个问题,不太清楚,网上好像也没搜到比较详细的答案。

java连接池中一般都有设置最大、最小连接数,当连接池中的连接达到最大连接数时,就不会再创建新的连接啦,但程序是怎么收缩连接池,到最小空闲连接数的呢?

个人猜测:web容器会定时检测连接池中空闲连接,当超过一定时间没有使用的话,先判断现有连接池中的连接是否大于最小连接数,如果大于的话,就好回收这个空闲连接,否则的话,就不会进行回收。

不知道是否正确?

  • 写回答

4条回答 默认 最新

  • iteye_6273 2011-06-17 21:10
    关注

    [quote]
    根据 connectionTimeout="20000" 这个时间,如果这个时间段一直没连接就关闭了
    [/quote]
    这个timeout的时间是对于获取数据库连接超时的时间,比如当数据库的连接达到最大值的时候,再来请求connection时就要等待,这个时候会有一个等待超时时间,您所说的是这个超时时间。

    楼主所讲的连接池收缩的问题,其实对于不同的连接池产品的话,应该处理的策略是会有所不同的,但是大体上应该跟楼主讲得差不多,可能是按创建时间对连接池中的连接排序,对于空闲连接的状态,可开辟专门的线程定时检测,以释放connection.

    还有一个问题,如下:
    如何确保连接池中的最小连接数呢?有动态和静态两种策略。动态即每隔一定时间就对连接池进行检测,如果发现连接数量小于最小连接数,则补充相应数量的新连接,以保证连接池的正常运转。静态是发现空闲连接不够时再去检查。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥50 易语言把MYSQL数据库中的数据添加至组合框
  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况