数据库连接池和java servlet

数据库 连接池 java servlet

  1. 连接池是一个"限流器",设小了限死性能,设大了可能拖垮数据库

  2. 线程池决定"请求并发",连接池决定"数据库并发"

  3. 线程池和连接池都在"应用侧",不是数据库侧

  4. 一个线程在执行SQL时,会占用一个连接,用完之后,连接会归还连接池

  5. 举个例子:

线程A → 拿连接1 → 执行SQL → 归还

线程B → 拿连接1 → 执行SQL → 归还

  1. 连接池是你这个服务的一部分,不是数据库的一部分

  2. 线程池负责"处理请求",连接池负责"访问数据库"

  3. 数据库本身只负责接受连接和执行SQL,不负责连接池管理。

  1. 浏览器 → Tomcat → Spring Boot应用 → 返回结果

  2. Tomcat:负责"网络层"(HTTP),Spring Boot:负责"业务逻辑"

  3. Spring Boot 不依赖 Tomcat,只是默认用它

  4. 应用需要部署到外部 Tomcat 上运行,而 Spring Boot 默认采用内嵌 Tomcat 的方式,将 Web 服务器和应用打包在一起,通过一个 jar 包即可运行。Tomcat 负责接收和处理 HTTP 请求,并将请求转发给 Spring Boot 应用中的 Controller 处理业务逻辑。

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

  2. Servlet 容器本质上是"HTTP协议和Java业务代码之间的桥梁"。

相关推荐
狼爷21 小时前
吃透 Java Function 接口,搞定 99% 的 Stream 场景
java·函数式编程
笃行3501 天前
金仓数据库数据安全双防线:静态存储加密与传输加密实战
数据库
笃行3501 天前
金仓数据库物理备份实战:sys_rman 全流程演练与误覆盖抢救
数据库
笃行3501 天前
金仓数据库逻辑备份实战:从全库导出到 Schema 替换的完整闭环
数据库
祎雪双十Gy1 天前
从 DataX 的配置加载说起:我用 FastJson2 做了一个轻量级动态配置管理库
java·后端
小锋java12341 天前
分享一套锋哥原创的SpringBoot4+Vue3宠物领养网站系统
java
考虑考虑1 天前
Java实现hmacsha1加密算法
java·后端·java ee
掉鱼的猫1 天前
Spring Boot → Solon 注解迁移实战指南:一张对照表说清楚
java·spring boot
plainGeekDev1 天前
广播接收器 → Flow + Lifecycle
android·java·kotlin