随笔分类 -  技术杂说

上一页 1 ··· 4 5 6 7 8
摘要:分布式锁常见的三种实现方式: 数据库乐观锁; 基于Redis的分布式锁; 基于ZooKeeper的分布式锁。 Redis要实现分布式锁,以下条件应该得到满足: 互斥性:在任意时刻,只有一个客户端能持有锁。 不能死锁:客户端在持有锁的期间崩溃而没有主动解锁,也能保证后续其他客户端能加锁。 容错性:只要 阅读全文
posted @ 2021-11-27 20:40 残城碎梦 阅读(70) 评论(0) 推荐(0) 编辑
摘要:懒汉模式 懒汉模式是变种最多的单例模式。 所谓懒汉即先不初始化单例,等第一次使用的时候再初始化,即“懒加载”。 基础的懒汉 // 饱汉 // UnThreadSafe public class Singleton1 { private static Singleton1 singleton = nu 阅读全文
posted @ 2021-11-27 18:38 残城碎梦 阅读(39) 评论(0) 推荐(0) 编辑
摘要:保证消息是有顺序的,这是生产系统中常见的问题。 面试题剖析 举个例子,我们以前做过一个 mysql binlog 同步的系统,压力还是非常大的,日同步数据要达到上亿,就是说数据从一个 mysql 库原封不动地同步到另一个 mysql 库里面去(mysql -> mysql)。常见的一点在于说比如大数 阅读全文
posted @ 2021-11-27 16:46 残城碎梦 阅读(177) 评论(0) 推荐(0) 编辑
摘要:分库分表后需要一个全局唯一的 id 来支持。 基于数据库的实现方案 数据库自增id 系统里每次需要得到一个 id的时候,都是往一个库的一个表里插入一条没任何业务含义的数据,获取到一个数据库自增的一个 id。拿到这个 id 之后再往对应的分库分表里去写入。 这个方案的好处就是方便简单,谁都会用;缺点就 阅读全文
posted @ 2021-11-27 16:18 残城碎梦 阅读(92) 评论(0) 推荐(0) 编辑
摘要:TreeMap<K,V>的Key值是要求实现java.lang.Comparable,所以迭代的时候TreeMap默认是按照Key值升序排序的;TreeMap的实现是基于红黑树结构。适用于按自然顺序或自定义顺序遍历键(key)。 TreeMap中默认是按照升序进行排序的,如果想要降序,需要通过自定义 阅读全文
posted @ 2021-11-27 15:40 残城碎梦 阅读(94) 评论(0) 推荐(0) 编辑
摘要:首先简单说一下(以下为一个回答的参考模板) (1) 实例化一个Bean -- 也就是我们常说的new; (2) 按照Spring上下文对实例化的Bean进行配置 -- 也就是IOC注入; (3) 如果这个Bean已经实现了BeanNameAware接口,会调用它实现的setBeanName(Stri 阅读全文
posted @ 2021-11-27 15:20 残城碎梦 阅读(50) 评论(0) 推荐(0) 编辑

上一页 1 ··· 4 5 6 7 8
点击右上角即可分享
微信分享提示