数据库 连接池 和 java servlet
-
连接池是一个"限流器",设小了限死性能,设大了可能拖垮数据库
-
线程池决定"请求并发",连接池决定"数据库并发"
-
线程池和连接池都在"应用侧",不是数据库侧
-
一个线程在执行SQL时,会占用一个连接,用完之后,连接会归还连接池
-
举个例子:
线程A → 拿连接1 → 执行SQL → 归还
线程B → 拿连接1 → 执行SQL → 归还
-
连接池是你这个服务的一部分,不是数据库的一部分
-
线程池负责"处理请求",连接池负责"访问数据库"
-
数据库本身只负责接受连接和执行SQL,不负责连接池管理。

-
浏览器 → Tomcat → Spring Boot应用 → 返回结果
-
Tomcat:负责"网络层"(HTTP),Spring Boot:负责"业务逻辑"
-
Spring Boot 不依赖 Tomcat,只是默认用它
-
应用需要部署到外部 Tomcat 上运行,而 Spring Boot 默认采用内嵌 Tomcat 的方式,将 Web 服务器和应用打包在一起,通过一个 jar 包即可运行。Tomcat 负责接收和处理 HTTP 请求,并将请求转发给 Spring Boot 应用中的 Controller 处理业务逻辑。

-
Servlet 容器是用于运行和管理 Servlet 的运行环境,它负责接收 HTTP 请求,将请求转换为 Java 对象,分发给对应的 Servlet 处理,并将处理结果返回给客户端。同时它还负责 Servlet 的生命周期管理、线程调度等。常见的 Servlet 容器有 Tomcat。Spring Boot 应用通常运行在内嵌的 Servlet 容器中。
-
Servlet 容器本质上是"HTTP协议和Java业务代码之间的桥梁"。