- 博客(9)
- 问答 (6)
- 收藏
- 关注
原创 es span-query 使用
在单独查询时,与 span_within基本保持一致,区别在于 span_containing 的评分取决于big, span_with取决于little;在嵌套于 span_near 内时,span_within 将采用 little的位置进行匹配指定的 slop距离,span_containing 采用 big的位置匹配 slop距离。○ 控制查询是否必须匹配短语的顺序。○ 该查询包含多个子查询(子短语),每个子查询可以是 span_term、span_phrase 或其他 span 查询。
2024-12-28 16:43:00
609
原创 CopyOnWriteArrayList 源码分析
否则,持有的是两个不同的数组,也就是说其他线程对于集合的修改对于迭代器是不可见的,这样就有了 迭代器的弱一致性问题。因为 CopyOnWriteArrayList 写操作的不单单需要加锁,更需要数组的复制,那就意味着,在新增操作时,堆中是存在两个数组的,如果是数组较大,且写入操作多,是有可能会造成频繁 GC的。这里与 ArrayList 的迭代器不同的是,ArrayList 遍历迭代器使用的是就是集合中存储元素的数组,而这里使用的是传入的数组。主要流程就是 加锁,复制新数组,添加元素到新数组,替换旧数组。
2024-06-03 17:11:16
437
1
原创 redisson分布式锁组合spring事务解决锁被释放但事务还未被提交的问题
定义的注解里面建议组合spring的Transactional注解 这样的话,使用者能够定义像传播特性、隔离级别等之类的属性,而不需要我们重新定义/**// 开启事务 如果不需要组合的话 可选择使用此注解 // 但需要稍微改一下后续的代码 // boolean transactional() default false;// 组合事务注解 最推荐 很方便 Transactional transactional();// 开启锁 boolean lock() default true;
2023-06-14 18:33:48
4489
2
原创 spring中实现接口限流功能
注解实现的话方便一点 我们只需要在想要限流的接口上绑定注解就行/**// 标识限流类型 FlowRuleType type() default FlowRuleType . DEFAULT;// 回调方法 String callBack() default "";// 提示信息 String returnMsg() default "接口被限流";// 默认限流值 int count() default 1;DEFAULT , // 默认 IP , // ip OTHER // 其他 }
2023-06-09 19:35:00
261
2
原创 使用Object去强转可变参数类型
我在存储的时候 传参是一个String 即使使用 (Object)String 的写法其实也不会有太大影响。问题就出现在使用Object强转可变参数类型这里 变成嵌套数组之后 取出的 key 就变成了一个 String类型的数组对象 导致在redis中找不到键 然后删除失败。最近在使用redisTemplate去删除hash表中的某个键时,发现一直删除不了。对于redis中的key序列化 我使用的是 StringRedisSerializer 这个类。前置条件全部删除完毕,来看代码。
2023-06-03 17:29:53
153
空空如也
阿里云服务器下 /var/lib/docker/containers 内存占用异常
2024-01-11
Mybatis-plus 前后两次查询结果一致的问题
2023-08-26
shutdown 方法 会中断 空闲线程 的含义
2023-08-10
多线程下使用 ArrayList 中的ListItetator 迭代器 出现的问题
2023-07-28
mybatis一级缓存失效
2023-06-13
Excel 数据有效性设置
2022-08-27
idea无法连接本地数据源
2022-08-23
easypoi导出列标题出现一条线
2022-07-06
Consumer接口andThen方法执行问题
2022-06-08
idea登录gitee账号一直报错 401
2022-05-13
axios post请求 后台使用@requestBody 无法接收数据
2022-02-11
使用axios发送post请求后台无法接收数据
2022-02-11
es6箭头函数 this的指向问题。
2021-12-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人