博客
分类
标签
归档
友链
暗黑模式
博客
分类
标签
归档
友链
暗黑模式
SpringBootApplication和ComponentScan注释
在 Spring Boot 中,@SpringBootApplication 和 @ComponentScan 一般不会直接冲突,但如果配置不当可能会出现问题。下面详细分析可能出现的冲突情况及解决办法。 冲突原因分析 @SpringBootApplication 注解原理:@SpringBootApplication 是一个组合注解,它包含了 @SpringBootConfiguration...
2025-02-27
Read More
自动部署
CI/CD的概念CI/CD是持续集成(Continuous Integration)和持续交付(Continuous Delivery)的缩写,它旨在通过自动化的流程和工具,提高软件开发的效率、质量和交付速度。 持续集成在现在的开发模式中,一般的项目,协同开发是离不开的,这就涉及到多个开发人员编写处理自己负责的功能模块或者某些开发人员共同负责一个模块。于是,通过版本控制系...
2025-02-22
Read More
统计网站UVPV
系统活跃度指标描述系统活跃度的名词:PV、UV、VV、IPPV(Page View) 页面浏览量。每当一个页面被打卡或被刷新,都会产生一次PV。UV(Unique Visitor) 独立访客。一天内相同访客多次访问网站,只计算为1个独立访客。VV(VIsit View) 访客访问的次数。IP 独立IP访问数 为什么选择HyperLogLog统计UV、PV在说明 HyperLogLog 之...
2025-02-20
Java
Java
Read More
短信验证功能
短信验证功能业务流程 用户点击“发送验证码”按钮,前端向后端发送请求,包含手机号信息。 后端生成一个随机验证码(如 6 位数字)和唯一标识(UUID),并将验证码和 UUID 存储到 Redis 中并设置过期时间,以手机号作为唯一 Key。 短信服务商将验证码发送到用户的手机号,同时后端通过 Redis 限制发送频率(如每分钟最多发送一次,每天最多发送 5 次)。 后端将 UUID 返回给...
2025-02-19
Read More
DynamicDataSource多数据
DynamicDataSource多数据多数据源的典型使用场景1、业务复杂应用没有拆,数据库拆分了2、读写分离解决数据库的读性能瓶颈(读比写性能更高,写锁会影响阻塞,影响性能) 引入依赖12345<dependency> <groupId>com.baomidou</groupId> <artifactId>dynamic-datasource...
2024-09-30
Read More
Mybatis-Plus日志
Mybatis-Plus日志在项目中日志中经常会出现如下日志: 12345678Creating a new SqlSessionSqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@42607e80] was not registered for synchronization because synchroniz...
2024-09-13
Read More
基于AOP的日志系统
基于AOP的日志模块本文旨在分析参与项目中的日志,如何基于AOP面向切面原理实现controller请求及响应信息打印。本项目将日志记录的逻辑封装成一个切面,然后通过切入点和通知来指定在哪些方法需要执行日志记录的操作。 AOP中注解的含义@Aspect:切面。表示一个横切进业务的一个对象。它里面包含切入点(Pointcut)和Advice(通知)。@Pointcut:切入点。表示需要切入的位...
2024-09-07
Read More
滑动窗口
滑动窗口算法今天刷力扣题目,刷到了一个滑动窗口算法问题,这类算法问题之前没有遇到过,特此记录下来 解题思路1.首先确定窗口的定义(比如子串的每个字符存在个数/子数组的和)2.开始创建变量2.1.window(HashMap/int)用来定义窗口。2.2.left right指针[left, right)区间就是我们的窗口。2.3结果res,需根据题意3.window更新窗...
2024-09-02
Read More
线程安全
问题描述在最近的项目中,因为需要多次对某个中台接口进行反复调用,以获取分页数据的全量数据以便在后台进行去重,我写了一个多线程功能代码如下: 123456789101112pageList.forEach(obj -> { pool.execute(() -> { request.setCurrent(obj); log.inf...
2024-09-01
Read More
等待异步线程池跑完再执行后续代码的方法
等待异步线程池跑完再执行后续代码的方法等待异步线程池跑完再执行指定方法的三种方式(condition、CountDownLatch、CyclicBarrier),最近本人使用的CountDownLatch CountDownLatch应用场景 某个线程需要在其他n个线程执行完毕后再向下执行 多个线程并行执行同一个任务,提高响应速度 1234567891011121314151617181...
2024-08-27
Read More
Previous
3 / 8
Next