![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
技术总结
好奇心森林
公众号:好奇心森林
11年进入互联网行业,关注技术和金融。
展开
-
Spring 源码学习 - @Async注解实现原理
> 本文作者:geek,一个聪明好学的朋友## 1. 简介开发中我们需要异步执行某个耗时任务时候需要@Async,以下我将从源码角度解释该注解的实现原理。## 2.前提条件@EnableAsync 项目使用中,需要添加@EnableAsync注解支持,才能使用@Async(也支持自定义注解)生效。@EnableAsync(默认mode为AdviceMode.PROXY情况下)作用为了给spring项目加入AsyncConfigurationSelector,从而引入Asyn...原创 2020-06-21 17:55:57 · 429 阅读 · 0 评论 -
Feign Client 原理和使用
最近一个新项目在做后端HTTP库技术选型的时候对比了`Spring WebClient`,`Spring RestTemplate`,`Retrofit`,`Feign`,`Okhttp`。综合考虑最终选择了上层封装比较好的`Feign`,尽管我们的App没有加入微服务,但是时间下来`Feign`用着还是很香的。我们的sytyale针对`Feign`的底层原理和源码进行了解析,最后用一个小例子总结怎么快速上手。> 本文作者:sytyale,另外一个聪明好学的同事#### 一、原理Fei原创 2020-06-21 17:32:26 · 1273 阅读 · 0 评论 -
算法基础:排序算法看这一篇就够了
本文作者:sytyale,另外一个聪明好学的同事‘茴’ 字的十种写法1、术语说明名词描述稳定如果 aaa 原本在 bbb 前面且 a=ba=ba=b,排序之后 aaa 仍然在 bbb 的前面不稳定如果 aaa 原本在 bbb 前面且 a=ba=ba=b,排序之后 aaa 可能会出现在 bbb 的后面内排序所有排序操作都在内存中完成外排序由于数据太大,因此把数据放在磁盘中,而排序通过磁盘和内存的数据传输才能进行时间复杂度一个算法执行所耗费的时间.原创 2020-06-13 13:51:49 · 363 阅读 · 0 评论 -
Spring 源码学习2 - spring循环依赖的解决
本文作者:geek,一个聪明好学的同事1. 简介 我们在日常开发中有时因为业务的需要,需要的bean A中依赖bean B,同时又要在bean B中依赖bean A,如下面代码所示,在实例化A过程中,因为需要依赖B的注入,这时候会触发B的实例化,但是B的实例化中依赖A,这样A与B之间就会形成了一个闭环,也就是所谓的循环依赖。@Componentpublic class A { @Autowired private B b;}@Componentpublic class B .原创 2020-06-07 15:43:07 · 175 阅读 · 0 评论 -
Spring 源码学习 - 单例bean的实例化过程
本文作者:geek,一个聪明好学的同事1. 简介开发中我们常用@Commpont,@Service,@Resource等注解或者配置xml去声明一个类,使其成为spring容器中的bean,以下我将用从源码角度看以AnnotationConfigApplicationContext为例看spring如何把带有注解的类生成spring中bean。2. 示例代码public class TestContext { public static void main(String[] args) { .原创 2020-06-06 12:00:43 · 215 阅读 · 0 评论 -
2020-03-21-index
Mysql索引扫盲总结本文总结了一些MySQL索引的基本概念和原理,如果可以快速清晰回答这些问题可以出门左转提提宝贵建议。什么是索引?索引为什么查询快,索引的数据结构是什么?聚簇索引/非聚簇索引区别?什么是覆盖索引?唯一索引/普通索引?单列索引/联合索引区别?Full-index全文索引?什么是下推索引?什么是最左匹配,查询回表?哪些字段适合建索引?为什么一般主键索引最好是自增长的, 尽量短的数值类型?为什么有些SQL不走索引?索引的最佳实践?索引为什么快索引的本质是空间换原创 2020-05-30 21:14:05 · 148 阅读 · 0 评论 -
Spring事务@Transactional底层原理
最近同事发现一个业务状态部分更新的bug,这个bug会导致两张表的数据一致性问题。花了些时间去查问题的原因,现在总结下里面遇到的知识点原理。问题一:事务没生效我们先看一段实例代码,来说明下问题:@Service public class PaymentServiceImpl implements PaymentService { public void fetchLatestStatus(String trxId) { //1. do RPC request and g原创 2020-05-25 08:30:08 · 5410 阅读 · 0 评论 -
最优包裹组合问题-贪心算法
周末时间基本都在带娃,断更了一段时间,难得有点时间还是得有毅力坚持写,坚持总结。最近公司在拓展电商相关业务,其中一个环节是物流发货。物流打包环节有一个需求是希望能给运营同事一个小工具能快速计算最优的包裹组合。我们这里不关注过多业务细节,只是把这个问题抽象总结一下。问题:假设我们有如下4种规格的包裹可供选择:namesizeweightpricePackage S205KG4.99€Package M4010KG6.99€Package L8020原创 2020-05-25 08:27:59 · 1609 阅读 · 0 评论