- 博客(691)
- 资源 (10)
- 收藏
- 关注
原创 nginx常用配置 (含负载均衡、反向代理、限流、Gzip压缩、图片防盗链 等示例)
配置Nginx自定义错误页面server{listen80;#自定义404错误页面#看#自定义50x错误页面#看。
2025-01-18 18:56:27
907
原创 大模型-LangChain4j 学习总结
链接: https://pan.baidu.com/s/1HpHzVaGotD6cfeaszEwEQg?pwd=73sy 提取码: 73sy。通过网盘分享的文件:langchain4j-study-test大模型学习后整理.rar。
2024-12-12 21:28:03
171
原创 org.springframework.util.Assert 断言,参数校验
【代码】org.springframework.util.Assert 断言,参数校验。
2024-10-23 19:08:22
224
原创 基于google的libphonenumber包,获取手机号的归属信息:运营商,归属地
【代码】基于google的libphonenumber包,获取手机号的归属信息:运营商,归属地。
2024-10-23 00:00:36
241
原创 使用SpringBoot自定义注解+AOP+redisson锁来实现防接口幂等性重复提交
自定义注解,注解的作用是标记一个方法是否支持防重提交。需要防重提交的方法,加上注解。
2024-10-22 22:19:24
364
原创 多线程事务 ExecutorService+CyclicBarrier+PlatformTransactionManager
多线程事务处理工具类,注意细节:Runnable 里又包了层Runnable,增加了事务处理的逻辑。
2024-10-21 15:26:36
163
原创 spring-PlatformTransactionManager 编程式事务
【代码】spring-PlatformTransactionManager 编程式事务。
2024-10-17 19:18:14
174
原创 idea中高级实用的调试技巧
因为“下一步”按太快,而导致跳过了想要深入分析的那段代码?是不是很想要有“回到上一步”这样的操作呢。主动抛出异常,不改代码,调试时自己添加自定义异常,测试try-catch。程序中出现需要拦截的异常时,会自动定位到出现异常的那一行。想让断点停在某个特定值。强制返回,避免操作资源。
2024-10-16 22:16:13
346
原创 mybatis动态sql ,修改和删除 语句中 大坑,不要在条件中使用动态SQL,一不小心全表数据都被操作了
传入的map是空,把整个表的数据都给清空了(不要用 不要用 不要用)当user_id不传入的时候,会导致全表数据被更新。更新的时候必须传入用户id,否则报错就可以了。改进如下 (用这个 用这个 用这个)条件部分不要用动态sql。修改语句,想死就这么写。不要用 不要用 不要用。删除语句,想死就这么写。
2024-10-15 16:41:19
264
原创 mysql中FOR UPDATE 和 LOCK IN SHARE MODE锁 的区别,使用场景,示例
它获取的是共享锁(shared lock),意味着其他事务可以同时读取这些数据,但是不能进行任何写操作,直到所有共享锁被释放。它获取的是排他锁(exclusive lock),意味着其他事务只能等待当前事务结束才能对锁定的数据进行操作。需要注意的是,实际使用时,锁定策略的选择取决于应用程序的具体需求,包括并发控制的需求以及是否允许读取未提交的数据等。,因为窗口1持有的共享锁不允许任何写操作。假设还是两个窗口,窗口1和窗口2。,直到窗口1的事务结束并释放锁。假设有两个窗口,窗口1和窗口2。
2024-10-15 15:27:03
571
原创 实现订单超时关闭--定时器轮询数据库
create_time(订单创建时间) < date_sub(now(), interval 5 minute)技巧:把订单时间,超时的时间,当前时间,看成一个时间线,就想明白了。date_sub:从某个日期。
2024-10-12 21:54:49
282
原创 处理数据库中的逻辑删除(即不真正删除记录,而是标记其为已删除)与唯一性约束之间的冲突
这样做的目的是为了让相同的 user_name 在不同的 delete_time 下可以共存。当一个用户被逻辑删除后,其 delete_time 不为零,而新插入的用户将拥有 delete_time 为零的记录,从而避免唯一性冲突。然而,当我们尝试在逻辑删除一个用户之后再插入一个具有相同用户名的新用户时,由于唯一性约束的存在,新的插入操作会失败。为了保持数据的历史记录,我们不希望直接删除用户的记录,而是通过设置一个 is_delete 标记来表示用户记录是否已被删除。:用于记录逻辑删除发生的时间。
2024-10-12 17:17:58
462
原创 微服务中传递公共参数,在网关层header添加参数,各子微服务,openfeign,线程池等地方拿到网关传递过来的参数
网关层在header中添加参数,header-user_id=1001,header-user_name=小明。各个子微服务,可以通过openfeign,线程池等方式拿到上面的参数。
2024-10-10 12:03:45
454
原创 SpringBoot中使用Redis实现排行榜功能,并考虑到 当用户积分相同时,要求按最后更新时间升序
由于时间戳的长度是13位,除以10的13次方,可以将其移到小数点的右边。可以将zset中的score设置为一个浮点数,其中整数部分为积分,小数部分为最后更新时间时间戳。zset中可以存储不重复的元素集合,并为每个元素关联一个浮点数分数(score),| 用户id | 积分 | 最后更新时间时间戳(毫秒) | score || 用户id | 积分 | 最后更新时间时间戳(毫秒) | score |score = 积分 + (1 - 时间戳/10的13次方)对上面表格,处理之后,变成了下面这样。
2024-10-07 21:54:00
759
原创 springboot 通过aop+自定义注解,统一记录系统操作日志
当前操作的用户: 可以用拦截器+threadlocal实现。ip获取采用 ip2region。日志记录aop,使用环绕通知。需要记录日志的,添加注解。
2024-10-07 20:13:55
453
原创 ip2region 获取用户的 IP 和 IP的归属地
ip2region 是一个离线IP地址定位库和IP定位数据管理框架,能实现10微秒级别的查询效率,提供了众多主流编程语言的xdb数据生成和查询客户端实现。
2024-10-07 17:07:03
454
原创 使用SpringBoot自定义注解+拦截器+token机制,实现接口的幂等性
【代码】使用SpringBoot自定义注解+拦截器+token机制,实现接口的幂等性。
2024-10-05 21:25:54
427
原创 SpringBoot中,接口签名,通用方案,以确保接口的安全性
包装HttpServletRequest,以便在读取请求体后仍可重复读取。最后的效果,只能发一次请求,重复发送请求,就会失败。签名验证过滤器,用于校验请求的合法性。
2024-10-05 16:42:27
1009
1
原创 redisson分布式锁的应用——秒杀、防止超卖 例子(分布式锁相关)-----(坑:事务和锁一起出现时,可能会超卖)解决办法:编程式事务,确保锁的释放在事务提交之后
【代码】redisson分布式锁的应用——秒杀、防止超卖 例子(分布式锁相关)-----(坑:事务和锁一起出现时,可能会超卖)解决办法:编程式事务,确保锁的释放在事务提交之后。
2024-09-24 21:24:18
145
原创 责任链模式优化 文章发布的接口(长度验证,敏感词验证,图片验证等环节) 代码,示例
每个节点相当于一个处理步骤,一个任务过来后,会交给链条上第一个节点进行处理,第一个节点处理后再传递给下一个节点,下一个节点处理完成后,继续向后传递。目前文章发布中的校验有下面3个步骤,每个步骤相当于责任链上一个节点,每个步骤对应一个类,如果要进行扩展,只需要添加一个类,然后调整下链表的顺序便可。责任链相当于一个链条一样,链条上有很多节点,节点与节点之间形成了一个单向的链表。: 实现图片合法性校验,确保文章中的图片是合法的(当前未实现具体逻辑)。: 实现敏感词校验,确保文章内容不包含敏感词汇。
2024-09-24 15:02:42
547
原创 阿里Arthas-Java诊断工具,基本操作和命令使用
Arthas 是阿里巴巴开源的一款Java诊断工具,深受开发者喜爱。它可以帮助开发者在不需要修改代码的情况下,对运行中的Java程序进行问题诊断和性能分析。
2024-09-23 15:03:23
522
原创 ThreadLocal、InheritableThreadLocal、TransmittableThreadLocal 区别,使用场景 示例
set,get 需要再同一个线程中执行,父子线程不支持。:支持父子线程,不支持线程池。
2024-09-20 15:25:48
471
原创 springboot Controller层返回的结果,日志添加traceId ,方便对日志的追踪查询
使用aop创建了一个环绕通知,会拦截controller的所有方法,以及全局异常处理器的方法,对Result类型的返回值进行统一处理,将traceId设置到Result中traceId字段中,其中 GlobalExceptionHandler 类是全局异常处理类。MDC是logback为我们提供的一个扩展的入口,可以向里面放入一些键值对,然后在logback中的日志中就可以通过这个traceId获取到对应的值。3、接口返回值中,添加一个通用的字段:traceId,将上面的traceId作为这个字段的值。
2024-09-17 17:57:46
700
原创 Spring Boot,在应用程序启动后执行某些 SQL 语句
在 Spring Boot 中,如果你想在应用程序启动后执行某些 SQL 语句,可以。这些脚本应该位于类路径中指定的目录下。
2024-09-15 19:56:02
948
1
原创 spring-TransactionTemplate 编程式事务
是 Spring 框架提供的用于管理事务的一种方式。它提供了一种编程式的事务管理方法,允许开发者在代码中显式地控制事务的开始、提交或回滚。与使用注解相比,提供了更多的灵活性和控制力。
2024-09-15 19:23:00
521
原创 redis-RedisTemplate.opsForGeo 的geo地理位置相关的方法演示
获取元素经纬度坐标经过geohash算法生成的base32编码值。: 获取集合中任意元素的经纬度坐标,可以一次获取多个。:查询某个坐标或某个成员,附近范围的成员。: 计算两个元素之间的距离。: 添加一个地理位置。
2024-08-18 11:18:22
601
原创 Springboot 整合 xxljob 实现代码动态添加、修改、删除、停止、启动等调度任务
工程2 Xxljob执行器项目更改实现此功能,需要修改2个工程的代码工程1 xxljob-web控制台源码更改。
2024-08-16 16:24:45
831
原创 weixin-java-miniapp 微信小程序登陆
1. 用户在小程序中选择使用微信授权登录功能。2. 小程序调用 `` 接口,向发起登录请求。3. 微信服务器验证小程序的合法性,如果合法,会返回一个。4. 小程序。5. 后台服务器接收到 **code** 后,使用自己的。6. 后台服务器根据 **openid** 和 **session_key**,进行用户身份的验证和处理,可以将用户信息存储在后台数据库中。7. 后台服务器将验证结果返回给小程序。
2024-08-15 11:16:37
2341
1
原创 drools规则引擎 规则配置文件drl语法使用案例
100元以下, 不加分100元-500元 加100分500元-1000元 加500分1000元 以上 加1000分。
2024-08-13 18:41:39
406
原创 springboot 文件上传 与 FeignClient 调用 上传
【代码】springboot 文件上传 与 FeignClient 调用 上传。
2024-08-08 15:45:41
187
原创 redisTemplate 中 boundValueOps、boundHashOps、boundListOps、boundSetOps、boundZSetOps 使用详解
一旦绑定,所有操作都针对同一个键,适合在一个操作序列中。:每次调用方法时都可以使用不同的键名,适合在不同键之间灵活切换的场景。
2024-07-19 14:38:04
680
原创 RocketMQ中概念知识点记录 和 与SpringBoot集成实现发送 同步、异步、延时、批量、tag、key、事务消息等
实现原理:将某些消息,按一定规则,发到同一个队列中。单向发送:只发送消息,不关心发送结果。所有订阅该 Topic 的消费者消费。可以理解为消息的子类别。每条消息只会被集群中的。
2024-07-19 11:40:57
475
微信开发.binarywang - WxJava 开发微信公众号程序-还不完善,不要下,资源想删除删除不了
2024-02-15
seata 1.4.2安装包,内置了seata.sql文件,注册和配置已经选用了nacos
2023-11-13
(spring cloud stream 整合 rabbitmq , 自定义消息通道,既能发消息,)cloud-stream-rabbitmq-test.rar
2021-06-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人