首先,为了确保分布式锁可用,我们至少要确保锁的实现同时满足以下四个条件: 互斥性。在任意时刻,只有一个客户端能持有锁。 不会发生死锁。即使有一个客户端在持有锁的期间崩溃而没有主动解锁,也能保证后续其他客户端能加锁。 具有容错性。只要大部分的Redis节点正常运行,客户端就可以加锁和解锁。 解铃还须系 ...
分类:
其他好文 时间:
2020-07-12 20:29:53
阅读次数:
65
1. 需要 Map 的主键和取值时,应该迭代 entrySet() 当循环中只需要 Map 的主键时,迭代 keySet() 是正确的。但是,当需要主键和取值时,迭代 entrySet() 才是更高效的做法,比先迭代 keySet() 后再去 get 取值性能更佳。 反例: Map<String, ...
分类:
编程语言 时间:
2020-07-12 20:25:28
阅读次数:
52
HashSet 的内部采用 HashMap 来实现。由于 Map 需要 key 和 value,所以 所有 key 的都有一个默认 value。类似于 HashMap,HashSet 不允许重复的 key,只允许有一个 null key,意思就是 HashSet 中只允许存储一个 null 对象。 ...
分类:
编程语言 时间:
2020-07-12 18:41:07
阅读次数:
96
有可能,两个不相等的对象可能会有相同的 hashcode 值,这就是为什么在 hashmap 中会有冲突。相等 hashcode 值的规定只是说如果两个对象相等,必 须有相同的 hashcode 值,但是没有关于不相等对象的任何规定。 ...
分类:
其他好文 时间:
2020-07-12 15:07:31
阅读次数:
156
Danny, the local Math Maniac, is fascinated by circles, Omkar's most recent creation. Help him solve this circle problem! You are given \(n\) nonnegat ...
分类:
其他好文 时间:
2020-07-12 10:23:13
阅读次数:
122
因为有强制的规范指定需要同时重写 hashcode 与 equal 是方法,许多容器类, 如 HashMap、HashSet 都依赖于 hashcode 与 equals 的规定。 ...
分类:
其他好文 时间:
2020-07-11 23:02:34
阅读次数:
75
基础知识易错点 1. object.equals("str") 容易报空指针异常,应使用"str".equals(object); 还可以使用JDK7引入的工具类object#equals : objects.equals(null, "str"); // false java.util.Objec ...
分类:
编程语言 时间:
2020-07-11 19:25:34
阅读次数:
61
类的设计中,两个重要结构之二:方法 方法:描述类应该具的功能。 比如:Math类:sqrt()\random() \... Scanner类:nextXxx() ... Arrays类:sort() \ binarySearch() \ toString() \ equals() \ ...1.举例 ...
分类:
其他好文 时间:
2020-07-11 11:15:57
阅读次数:
83
Map接口Map与Collection并列存在。用于保存具有映射关系的数据:key-valueMap中的key和value都可以是任何引用类型的数据Map中的key用set来存放,不允许重复,即同一个Map对象所对应的类,须重写hashCode()和equals()方法常用String类作为Map的“键”key和value之间存在单向一对一关系,即通过指定的key总能找到唯一的、确定的valueM
分类:
编程语言 时间:
2020-07-10 19:24:44
阅读次数:
72
SpringIOC注入手动实例化与外部引入图一:图二:?对比发现:图二中对于UserDao对象的创建并没有像图一那样主动的去实例化,而是通过带参方法形式将UserDao传入过来,从而实现UserService对UserDao类的依赖。?而实际创建对象的幕后对象即是交给了外部来创建。SpringIOC手动装配(注入)?Spring支持的注入方式共有四种:set注入、构造器注入、静态工厂注入、实例化工
分类:
编程语言 时间:
2020-07-10 18:55:25
阅读次数:
47