- 博客(11)
- 资源 (1)
- 收藏
- 关注
原创 AOP踩坑实录(Spring生成Proxy)
AOP踩坑实录(Spring生成Proxy) --洱涷zZ背景: 因为想深层次的去看看Spring的AOP机制,所以查阅了很多资料,其中在复现廖雪峰老师写的demo的时候遇到的一个 NullPointerException 记录一下。AOP: 无论是使用AspectJ语法,还是配合Annotation,使用AOP,实际上就是让Spring自动为我们创建一个Proxy,使得调用方能无感知地调用指定方法,但运行期却动态“织入”了其他逻辑进行增强,
2021-11-15 17:15:35
749
原创 Feign日期转换的一个小问题
Feign接口日期格式转换的一个小问题 --洱涷zZ背景: 最近在写api的时候,调用H0平台提供接口的时候,发现消费端Feign接口在路由、格式等条件都没问题的情况下,服务端返回的数据无法正常接收到,而是一直报错:feign.codec.DecodeException: JSON parse error: Can not deserialize value of type java.util.Date from String "202
2021-11-04 17:29:45
1174
原创 MongoDB基础以及一些聚合操作
MongoDB基础以及一些聚合操作 --洱涷zZ前情提要1.学习MongoDB的几大难点MongoDB是一种非关系型数据库,从mysql转变到Mongo需要摒弃传统的关系型数据库理念,不然很有可能会用一种错误的方式去使用和设计MongoDB基于JSON数据库模型,其鼓励使用更多的文档嵌套方式来减少多表关联的设计,从而达到易用,高性能的目的,但是这种反范式的文档模型设计,目前没有完整的理论支持,即:即使想系统的学习,也没有太好的书籍和材料供参考Mon
2021-09-24 16:55:07
379
原创 今天踩的Dubbo的序列化对象的一个坑
Dubbo序列化对象的一个坑 --洱涷Zz 今天在处理项目问题的时候遇到了Dubbo序列化对象的一个坑,记录一下: 大致是同事在调用Dubbo rpc接口的时候发现返回的值和预期的返回值不符,预期是返回一个对象的集合,但是返回的集合里是hashMap,查看他们代码解决后是发现他们的消费者端对返回对象的路径定义与我们服务提供者端的路径不一致,导致返回的数据和预期不符。这个解决起来很简单,保持路径一致就可以。(最好就是将对象定义成公共的,可以很好
2021-08-19 17:55:03
2926
原创 高并发下保证接口的幂等性的几种方式
高并发下保证接口的幂等性的几种方式 --洱涷Zz场景不知道你有没有遇到过这些场景:有时我们在填写某些form表单时,保存按钮不小心快速点了两次,表中竟然产生了两条重复的数据,只是id不一样。我们在项目中为了解决接口超时问题,通常会引入了重试机制。第一次请求接口超时了,请求方没能及时
2021-08-14 19:11:19
717
原创 事务及Spring事务传播机制
Spring事务 --洱涷zZ事务的四大特征原子性:是不可分割的最小操作单位,要么同时成功,要么同时失败持久性:如果事务一旦提交或者回滚,那么数据库表的数据将被持久的更新隔离性:多个事务之间相互独立,但是真实情况下,多个事务之间会产生影响一致性:事务操作前后,数据总量不变事务的隔离级别 多个事务之间是是隔离的,相互独立的,如果多个事务操作同一批数据,则会引发一些问题,设置不同的隔离级别,就可以解决这些问题。 存在问题:脏读:
2021-07-21 10:46:27
222
原创 创建表时的一些后缀语句
MySQL建表后缀语句汇总 --洱涷ENGINE = InnoDB表示当前表使用的时InnoDB引擎,从MySQL5.6开始默认使用DEFAULT CHARSET = utf8表示数据库默认编码为utf-8COLLATE = utf_general_ci表示数据库校验规则,ci是case insensitive的缩写,意思是大小写不敏感,相对应的是cs,case sensitive大小写敏感,还有一种是utf8_bin,是将字符串中的每一个字符
2021-05-24 19:47:49
296
原创 MySQL各种索引算法
Mysql各种索引算法 --洱涷 首先梳理一下当我们在数据库中输入一个SQL进行查询时,DBMS(数据库管理系统)所经历的流程:对sql语法进行校验,看齐是否符合sql语法规则对合法的语句进行语义检查,即根据数据字典中有关模式定义检查数据库对应是否有效查询优化,在DBMS中每一个查询都有许多可以选择的执行策略和操作算法,查询优化即选择其中一个较高效的去执行根据上一步优化器得到的执行策略生成查询执行计划,有代码生成器生成执行这个查询计划的代码,
2021-05-24 19:36:30
4382
2
原创 Stream流
Stream流式编程思想 --洱涷(1)什么是StreamStream是一种流,是一种抽象的处理数据的思想,这种编程方式将要处理的元素集合看作一种流,流在管道中传输,然后在管道的每一个节点上对流进行操作(去重,分组,过滤…),元素流在经过管道的操作后,最后由最终操作得到新的一个元素集合。Stream是一个来自数据源的元素队列并支持聚合操作元素是特定类型的对象所形成的一个队列,Stream并不会去储存元素,而是按照需求所进行元素计算等操作数据源流的来
2021-05-17 18:04:37
3321
原创 Git快速入门
Git1. 创建新仓库创建新文件夹,打开后执行 git init 以创建新仓库。2. 检出仓库执行如下命令以创建一个本地仓库的克隆版本:git clone /path/to/repository如果是远程服务器上的仓库克隆到本地,执行如下命令:git clone username@host:/path/tp/repository3. 工作流本地仓库由Git维护的"三棵树"组成:工作目录:其持有实际文件暂存区(index):更像是一个缓存区,临时保存你对文件改动HEAD:它指向你最
2021-05-17 17:57:49
150
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人