加载中
一致性协议-Paxos,ZAB,Raft 总结

参考资料: 分布式一致性算法——Paxos原理与推导过程 百度开源 / braft Raft 一致性协议完整解析 Paxos,Raft,ZAB的差异对比 前言 用于在多数据备份的分布式系统中,因机器宕机或网络异常(...

JMM(java-memory-model,java内存模型)规范

来源于《深入理解JAVA内存模型》——程晓明加上个人理解,因为有些知识点查了很多还是不确定是什么意思,有个人理解在里面,仅供参考 一、 JMM是什么 JAVA的并发编程模型,屏蔽硬件层,是一种...

03/04 15:26
93
BIO/NIO 同步/异步 阻塞/非阻塞 select/poll/epoll 知识点整理

本文主要源于阅读以下文章整理所得: 似水流年——一篇文章读懂阻塞,非阻塞,同步,异步 似水流年——IO多路复用的三种机制Select,Poll,Epoll 罗培羽——epoll 的本质是什么? 理解IO模型...

02/18 18:15
157
jdk常用非并发容器整理

根据数据结构总结jdk常见的非并发容器,小结。 数据结构 基于数组 ArrayList ArrayDeque(循环数组) 只需要双端队列效果时使用,比linkedList还要快 不提供索引方法 判断元素存不存在需遍历 ...

02/16 16:13
71
PriorityQueue取中位数-实现一个能够动态取中位数的容器

闲来无事,复习一遍以前学习《Java编程的逻辑》的笔记,巩固一下基础。里面提到了通过堆这个数据结构取中值的应用场景,但没给出具体解法,这里查阅了相关资料后自己写了一个求中值的容器。 ...

02/16 15:51
92
BUG:方法A有环绕切面a包含方法B有环绕切面b,然后在a切面调用b方法,B方法回调A方法的切入点方法,导致的AopContext.currentProxy()拿不到方法A的代理类

BUG 前段时间写了个幂等框架 环绕通知是这么写的 @Around("idempotence()") public Object around(ProceedingJoinPoint proceedingJoinPoint) throws Throwable { //略 boolean i......

生产环境java.util.concurrent.RejectedExecutionException: event executor terminated 错误分析

缘由 生产上发生了事故,用户服务其中一台服务很多情况下都不可用,于是查询日志,发现了在从redis获取用户信息缓存的时候出现了错误,栈如下: org.springframework.data.redis.RedisSystem...

手写一个限流组件

项目结构 collector 抽象收集限流相关字段信息职责 collector.target 与收集器对应的字段信息dto,比如ip,用户id,手机号等等。 rule 抽象限流规则 Dimension 维度,包含Collector名称,与需...

2020/10/26 18:28
719
sharding-jdbc读写分离与使用ReuseExcutor导致的写操作后的读走的从库的坑

原由 shrding-jdbc为了维护读写分离的事务一致性,在写操作之后的所有读操作都会路由到主库上去,但是在业务中遇到一种情况是写操作之后的读操作还是使用的读库,造成这种情况的原因是Reuse...

手写一个幂等组件分享

前言 最近学了极客时间王争的《设计模式之美》,感觉以前对设计模式理解的太浅显了。文章上有一篇设计幂等框架的练习,作者给了简单的思路和实现,但是没有给出切面控制,理由是幂等跟业务是...

2020/09/17 14:08
173
在Spring容器刷新之前如何改变application配置文件属性

缘由 在工作中经常遇到需要写一个公共jar包封装其他开源框架,提供一些最佳实践配置的情况,但是有些开源框架又要求配在配置文件里面,如果业务项目引用了公共jar包,还需要去配很多东西就很...

2020/07/13 10:13
1K
浅谈ThreadLocal的内存泄露问题

写在前面 因为有个交流群里突然有个小伙伴问为什么jdk建议threadLocal用private static修饰,于是小研究了下。这里就记录一下吧。 ThreadLocal的原理 源码细节就不贴了,简单描述下原理吧: ...

2020/06/06 15:42
174
简单小结接口交互安全问题

一、写在前面 新入职的公司是做C端产品的,比较注重网路安全这一块,所以要求前后端交互报文加解密、签名。这里总结下在落地过程中怎么做的以及一些启发。 二、前后端加解密 (一)防重放攻击...

动态获取方法参数的坑

问题 问题的背景: 由于springcache并不是很好用,并不针对细粒度的过期时间控制。所以我司基于spel表达式写了一个缓存切面实现类似的功能。 但近期发现在使用过程中有产生缓存的时候key为n...

2020/05/27 18:38
129
Springboot浅析(三)——容器刷新流程

一、 先了解下各种后置处理器扩展点 (一)BeanFactoryPostProcessor——bean工厂后置处理 BeanFactory 标准初始化完毕后(经过包扫描后所有的 BeanDefinition 已经被注册),可以对这个 BeanFa...

Springboot浅析(二)——容器启动流程

大概是水平有限,最近跟读代码与相关书籍感觉巨费时间,想深入弄明白所有的东西很难,所以也只能带着问题来学习springboot了,以后遇到确切的问题再做深入了解把,给自己定个目标,暂时只弄清...

2020/02/22 22:35
443
Springboot浅析(一)——自动配置

为什么学习Springboot勒,一方面主要实在是Springboot应用得太广泛了,加深对其的理解对自己的开发工作很有必要,因为如果遇到或业务场景需要进行一些稍微高级点的基于Springboot的扩展以及应...

2020/02/21 04:27
298
应用启动初始化操作的各个方式及区别总结

业务中经常会涉及到一些初始化操作如加载数据到内存,初始化成员变量等等一系列操作。现将各个方式总结一下。 一、 bean的生命周期 首先我们要明白一个springboot下Web环境里面bean的生命周期...

2020/02/19 13:19
555
非科班生网络通信必会知识点归纳

一、 网络模型 网络模型分两种,一种是OSI模型,一种是TCP/IP模型,后者应用更加广泛。这里也主要介绍TCP/IP模型。 (一)TCP/IP模型 首先分为4层,从上到下依次是应用层、传输层、网络层、数...

2020/02/16 15:04
122
DDD领域驱动设计思想——读《DDD实战课》归纳

本文是学习极客时间《DDD实战课》后结合自己思考所整理的归纳总结,课程链接在: DDD实战课 基于DDD的微服务拆分与设计 一、DDD名词解释 (一)域 对业务领域细分后对一定范围内的问题划定边...

没有更多内容

加载失败,请刷新页面

返回顶部
顶部
返回顶部
顶部