摘要: 本文作者:geek,一个聪明好学的朋友 1. 简介 开发中我们需要异步执行某个耗时任务时候需要@Async,以下我将从源码角度解释该注解的实现原理。 2.前提条件@EnableAsync ​ 项目使用中,需要添加@EnableAsync注解支持,才能使用@Async(也支持自定义注解)生效。@Ena 阅读全文
posted @ 2020-06-21 17:55 好奇心森林 阅读(426) 评论(0) 推荐(0) 编辑
摘要: 最近一个新项目在做后端HTTP库技术选型的时候对比了Spring WebClient,Spring RestTemplate,Retrofit,Feign,Okhttp。综合考虑最终选择了上层封装比较好的Feign,尽管我们的App没有加入微服务,但是时间下来Feign用着还是很香的。 我们的syt 阅读全文
posted @ 2020-06-21 17:31 好奇心森林 阅读(1489) 评论(0) 推荐(0) 编辑
摘要: 本文作者:sytyale,另外一个聪明好学的同事 '茴' 字的十种写法 1、术语说明 名词 描述 稳定 如果 \(a\) 原本在 \(b\) 前面且 \(a=b\),排序之后 \(a\) 仍然在 \(b\) 的前面 不稳定 如果 \(a\) 原本在 \(b\) 前面且 \(a=b\),排序之后 \( 阅读全文
posted @ 2020-06-13 13:53 好奇心森林 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 本文作者:geek,一个聪明好学的同事 1. 简介 ​ 我们在日常开发中有时因为业务的需要,需要的bean A中依赖bean B,同时又要在bean B中依赖bean A,如下面代码所示,在实例化A过程中,因为需要依赖B的注入,这时候会触发B的实例化,但是B的实例化中依赖A,这样A与B之间就会形成了 阅读全文
posted @ 2020-06-07 15:41 好奇心森林 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 本文作者:geek,一个聪明好学的同事 1. 简介 开发中我们常用@Commpont,@Service,@Resource等注解或者配置xml去声明一个类,使其成为spring容器中的bean,以下我将用从源码角度看以AnnotationConfigApplicationContext为例看spri 阅读全文
posted @ 2020-06-06 12:02 好奇心森林 阅读(462) 评论(0) 推荐(0) 编辑
摘要: 周末时间基本都在带娃,断更了一段时间,难得有点时间还是得有毅力坚持写,坚持总结。 最近公司在拓展电商相关业务,其中一个环节是物流发货。物流打包环节有一个需求是希望能给运营同事一个小工具能快速计算最优的包裹组合。 我们这里不关注过多业务细节,只是把这个问题抽象总结一下。 问题: 假设我们有如下4种规格 阅读全文
posted @ 2020-05-30 21:41 好奇心森林 阅读(704) 评论(0) 推荐(0) 编辑
摘要: 最近同事发现一个业务状态部分更新的bug,这个bug会导致两张表的数据一致性问题。花了些时间去查问题的原因,现在总结下里面遇到的知识点原理。 问题一:事务没生效 我们先看一段实例代码,来说明下问题: @Service public class PaymentServiceImpl implement 阅读全文
posted @ 2020-05-30 21:40 好奇心森林 阅读(3331) 评论(0) 推荐(0) 编辑
摘要: 本文总结了一些MySQL索引的基本概念和原理,如果可以快速清晰回答这些问题可以出门左转提提宝贵建议。 什么是索引?索引为什么查询快,索引的数据结构是什么? 聚簇索引/非聚簇索引区别? 什么是覆盖索引? 唯一索引/普通索引? 单列索引/联合索引区别? Full-index全文索引? 什么是下推索引? 阅读全文
posted @ 2020-05-30 21:29 好奇心森林 阅读(211) 评论(0) 推荐(0) 编辑
摘要: Snowflake 世界上没有两片完全相同的雪花。 ​ — twitter Snowflake原理 这种方案把64-bit分别划分成多段,分开来标示机器、时间等,比如在snowflake中的64-bit分别表示如下图所示: 在java里,64bit正好是long类型的大小。 41-bit的时间可以表 阅读全文
posted @ 2020-05-30 21:27 好奇心森林 阅读(1031) 评论(0) 推荐(0) 编辑
摘要: 分布式ID 生成的ID使用场景 几乎所有的业务系统,都有生成一个记录标识的需求,例如:message_id, order_id。这个记录标识往往就是数据库中的唯一主键,数据库上会建立聚集索引(cluster index),即在物理存储上以这个字段排序。 在数据量大时往往需要分库分表,这些ID经常作为 阅读全文
posted @ 2020-05-30 21:25 好奇心森林 阅读(146) 评论(0) 推荐(0) 编辑