JDK scheduler
Java JDK实现调度方式有Timer和ScheduledThreadPoolExecutor (不考虑Quartz以及Spring Scheduler等) Timer基本类Timer/TimerTask,JDK Timer两个缺点 只有一个线程执行所有TimerTask,如果有...
show me the code - CopyOnWriteArrayList
JUC CopyOnWriteArrayList两个要点Copy On Write123456789101112131415161718192021/** * Appends the specified element to the end of this list. * * @param e...
show me the diagram - kafka
show me the architecture diagram - kafkaApache Kafka® is a distributed streaming platform. 组件 producers comsumers kafka cluster connectors Stream ...
redis/DB读写一致性
Redis/DB读写一致性大的原则是 强一致性以读写DB为准 redis缓存要有过期时间,这样即使有脏数据也会被清理掉 读数据先读redis,redis中没有读DB并更新Redis 写数据/更新数据更新时如何保持redis和DB数据一致。 先更新redis,再更新DB...
mysql主从复制
mysql 主从复制mysql有异步复制,半同步复制,组复制等。 异步复制主mysql提交,再异步复制到从mysql 半同步复制主mysql同步从mysql,至少一个从mysql relay log写成功时,主mysql提交。 组复制单主和多主mysql模式,基于paxos协议,只要大多数...
mysql mvcc介绍
mysql mvcc介绍锁机制可以控制并发操作,但是其系统开销较大,而MVCC可以在大多数情况下代替行级锁,使用MVCC,能降低其系统开销。 不同存储引擎的MVCC实现是不同的。InnoDB的MVCC,是通过在每行记录后面保存两个隐藏的列来实现的,这两个列,分别保存了这个行的创建时间,一个保存...
分布式事务-2PC/3PC
分布式事务XA协议组件XA 就是 X/Open DTP 定义的交易中间件与数据库之间的接口规范(即接口函数),交易中间件用它来通知数据库事务的开始、结束以及提交、回滚等。 XA 接口函数由数据库厂商提供。 应用程序( AP ) 事务管理器( TM ) - 事务中间件 资源管理器(...
JDK HashMap
JDK HashMap 知识要点 数组 + 链表 + 红黑树(JDK 8) JDK 7 并发扩容时CPU占用高问题 capacity, default table length 16 链表长度超过8时转红黑树 扩容阀值threshold = table length * load ...
prometheus quantile
histogram123456789101112131415161718192021222324Imagine that you create a histogram with 5 buckets with values: 0.5, 1, 2, 3, 5. Let’s call this hi...
Spring LDAP 认证
Spring提供了专门的LDAP集成库和解决方案。参考:https://spring.io/guides/gs/authenticating-ldap/ 参考用户文档中容易产生一个误区。 123456789101112131415161718192021222324252627@Configu...