
Java
文章平均质量分 55
clsq0913
这个作者很懒,什么都没留下…
展开
-
Jedis不同版本一致性hash实现的坑
最近做新旧系统做会话统一,新旧系统都是用redis存储会话,原以为很简单的事情,然而出现了奇怪现象。新系统创建了会话,理论上旧系统就可以正常访问,但是出现时而可以,时而不行(报会话不存在需登录)。本地debug,用新系统创建的token在旧系统上查,确实有的可以查到,有的不行。由于系统是用Jedis分片模式(ShardedJedis),猜测新系统把会话存在A节点,旧系统去B节点查,但是同一个token hash后应该是同一个节点才是,查了下两个系统用的Jedis版本不一样,感觉问题接近了,一查代码果然新原创 2021-12-26 21:40:56 · 384 阅读 · 0 评论 -
java程序通过http代理访问网络获取节假日数据
1、http代理验证用户名密码发送http请求2、获取节假日数据原创 2021-12-26 17:25:51 · 1253 阅读 · 0 评论 -
PageHelper分页原理与隐藏坑
PageHelper分页原理与隐藏坑欢迎使用Markdown编辑器新的改变欢迎使用Markdown编辑器最近项目使用的PageHelper发生一个神奇的分页问题 代码没有使用分页,但是在运行的时候却发生了分页,而且还是偶现,因此研究了一番PageHelper的分页原理,在此记录一番。新的改变maven依赖<dependency> <groupId>com.github.pagehelper</groupId> <artifactId&g原创 2021-06-05 17:46:53 · 4799 阅读 · 3 评论 -
activiti工作流共用数据库版本冲突解决
背景之前做一个新项目 A 的时候,由于某些原因需要跟另外一个项目 B 共用数据库,刚开始开发的时候为了不影响项目 B 的开发和测试,我们拷贝了一个数据库进行开发。问题终于等到开发完想要部署测试的时候用回了原来的数据库,出现了一个尴尬的问题 ̄□ ̄||,因为两个项目都用activiti工作流,而且版本还不一致,新项目 A 用了6.0.0,旧项目 B 用的5.21.0,出现了版本冲突,导致旧项目 B 无法启动。眼看上线deadline越来越近,得赶紧解决这个版本冲突的问题,于是就有了下文的探索过程。尝试原创 2020-05-30 14:22:29 · 1483 阅读 · 0 评论 -
基于Java的布隆过滤器奥秘之BitSet原理
基于Java的布隆过滤器奥秘之BitSet原理一、布隆过滤器的介绍二、布隆过滤器的原理三、布隆过滤器奥秘-BitSet的原理一、布隆过滤器的介绍布隆过滤器想必大家都有耳闻,使用场景大概是:给你一堆数据,如地名、人名,然后判断某个名字在不在里面。到这里可能第一反应会想到我们常用的一些数据结构就可以解决,比如HashSet、HashMap,把数据先放进HashSet或者HashMap中,要判断某个...原创 2020-04-19 19:31:54 · 328 阅读 · 1 评论 -
依赖冲突导致的NoSuchMethodError
最近在做旧项目的微服务改造,将原来的Spring、SpringMVC项目迁移到Spring Boot、Spring Cloud上,同时也将MyBatis换成了Mybatis Plus。把一些基础依赖还有旧项目用的包加进来后尝试启动一下,果不其然,报错了……看错误信息报了NoSuchMethodError,怎么会找不到方法呢?同样的基础包在我另一个微服务项目运行地好好的,旧项目的依赖包也是用地好...原创 2020-04-01 18:41:25 · 476 阅读 · 0 评论 -
SimpleDateFormat时间格式转换坑
SimpleDateFormat时间格式转换坑近日项目里碰到一个SimpleDateFormat时间格式转换的问题,代码类似为:SimpleDateFormat format = new SimpleDateFormat("yyyy-mm-dd"); String dateStr1 = "9999-12-31"; String dateStr2 ...原创 2019-11-02 16:01:28 · 802 阅读 · 0 评论 -
面向对象设计原则与设计模式 - 如何写出更优雅的代码
面向对象设计原则单一职责原则开放封闭原则Liskov替换原则接口隔离原则依赖倒置原则前段时间有幸参加了麦思博优雅代码养成指南的培训,故借此记录总结一番,希望能有助于他人。一个软件、一段代码从合格到优雅或者说优秀,可以归纳为逐级满足以下特质,学术名叫ISO/IEC 软件质量特质:功能:软件符合需求所必需的条件可靠性:满足某种指定级别稳定性能的能力易用性:易理解、使用并吸引客户的能力性能...原创 2019-10-27 10:26:04 · 377 阅读 · 0 评论 -
HashMap源码笔记 - 数据结构与基本操作
HashMap 继承于AbstractMap,实现了Map、Cloneable、java.io.Serializable接口,结构可以理解数组+链表(或红黑树),即主干是数组,存放值的时候如果出现hash碰撞,那么该位置就会变成链表,再如果这个链表的长度太长了就会转换为红黑树。此外,HashMap……原创 2019-10-27 00:44:29 · 330 阅读 · 1 评论