
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
摘要:本文系统介绍了Java Web开发中的核心组件Servlet。首先阐述了Servlet作为三大组件之首的核心作用,即处理HTTP请求。详细讲解了Servlet的实现方式,包括直接实现Servlet接口和继承HttpServlet类,重点说明了生命周期方法init()、service()、destroy()的执行流程。文章还演示了Servlet的配置方式(web.xml或注解),分析了请求处理
本文系统整理 Git 版本控制核心知识,从 Git 的工作区、暂存区、本地仓库、远程仓库讲起,覆盖 init、add、commit、log、diff、reset、restore、分支管理、冲突解决、stash、GitHub/GitLab 推送拉取、远程分支、标签管理和 IDEA 集成。适合初学者收藏,也适合面试前快速复习。
file:./表示程序启动时的当前工作目录。如果在 IDEA 中运行,通常是项目根目录;那么当前终端所在的目录就是file:./。外部配置的优先级高于 JAR 内部配置。config目录的优先级高于同级根目录。相同属性会被覆盖,不同属性会形成互补。> file:./掌握这个顺序后,绝大多数“为什么我的没生效”的问题都能快速定位。
线上接口变慢时,只看一条异常日志通常无法回答“请求经过了哪些服务、慢在哪一步、是否影响所有用户”。可观测性要把日志、指标和链路追踪关联起来,让开发者从一次请求的 TraceId 出发,定位到具体服务、Span、数据库调用和业务阶段。本文基于 Java 21 与 Spring Boot 3.x,使用 Actuator、Micrometer Observation、Micrometer Tracing
一篇讲透 Spring Boot Web 开发核心链路,覆盖静态资源映射、Thymeleaf 表达式、Spring MVC 自动配置、WebMvcConfigurer、拦截器、日期转换、文件上传、Servlet 组件、内嵌 Tomcat 与 WAR 部署,并补充 Spring Boot 2.x 升级 3.x 的常见变化。
一篇讲透 Spring Boot 3 数据访问完整链路,覆盖 HikariCP、Druid 监控、JdbcTemplate、MyBatis 注解与 XML、动态 SQL、事务、密码哈希、CRUD 接口、集成测试及常见报错排查,并给出旧版教程迁移到 Spring Boot 3 的关键变化。
Java 21 将虚拟线程正式带入生产环境,Spring Boot 也提供了开箱即用的支持。虚拟线程能够显著降低阻塞式高并发应用的线程成本,但它并不会让单个任务执行得更快,也无法突破数据库连接池、下游限流和 CPU 等资源上限。本文通过可运行示例讲解 Spring Boot 虚拟线程的启用方式、适用场景、性能测试方法和资源治理原则,并重点分析 Pinned Virtual Thread 的成因以及
支付、下单和发券接口经常因为网络超时、客户端重试、消息重复投递而被执行多次。真正的接口幂等不是简单加锁,也不是前端按钮置灰,而是让同一个业务请求无论到达多少次,都只产生一次业务副作用,并向调用方返回可预测的结果。本文基于 Spring Boot 和 PostgreSQL 实现一套可落地的幂等键方案,并讨论唯一索引、请求指纹、结果回放、Redis 快速拦截、事务边界与状态机设计。
CompletableFuture` 的价值不只是“把任务放进线程池”,而是用声明式方式表达任务之间的依赖关系。真正的生产难点也不在 `supplyAsync`,而在线程池隔离、超时边界、异常传播、上下文传递和降级策略。本文以 Spring Boot 聚合接口为例,完整实现三个下游服务的并行调用,并解释 `thenApply`、`thenCompose`、`allOf`、`orTimeout`、`
微服务接入统一登录后,业务服务通常不再负责登录和签发令牌,而是作为 OAuth2 Resource Server 校验访问令牌。真正容易踩坑的不是“解析 JWT”,而是如何可靠地校验签名、签发者、受众和有效期,如何把外部身份系统的 scope、角色映射为 Spring Security 权限,以及如何区分 401 与 403。本文基于 Java 21、Spring Boot 3.x 和 Sprin







