一、连接 什么是连接? 连接,代表上游对下游的通信或会话。比如客户端连接服务器、服务器连接数据存储等 连接其通信的基本步骤,很类似 HTTP 操作: 上游对下游建立一个连接(客户端与服务器需要建立连接。比如点击某个超级链接) 上游通过连接,发送请求(建立连接后,客户端发送请求给服务器) 上游通过连接,收到响应(服务器接到请求后,响应其响应信息) 上游关闭连接,释放连接资源(客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接) 再深入点,HTTP 持久连接是什么?HTTP 持久连接是指用同一个 HTTP 底层的 TCP 连接来发送/接收多个 HTTP 请求/响应。扩展点,只需要在头部设置: Connection: Keep-Alive 为什么要有持久连接?每次都是从建立连接开始也可以达到结果,并且最后是关闭连接释放资源。这就是引出连接池产生原因。 二、连接池产生原因 先看一下常见的 mysql-connector-java 包驱动下面 ConnectionImpl 源码: trackConnection(); execSQL(); commit(); colse(); 对 MySQL 多半是进