concurrenthashmap的实现原理
ConcurrentHashMap是Java并发包中一种线程安全的哈希表实现。 HashMap在多线程环境下扩容会出现CPU接近100%的情况,因为HashMap并不是线程安全的,我们可以通过Collections里面的Map<K,V> synchronizedMap(Map<K,V> m) 把HashMap包装成一个线程安全的map
905 字
|
5 分钟
Java HashMap为什么在jdk8引入红黑树
在JDK8之前,HashMap的内部实现主要依赖于数组+链表的结构 当多个元素的哈希值相同的时候(也就是发生哈希冲突的时候),这些元素会被存储在同一个桶里面,形成一个链表。 但这种实现方式在特定情况下会导致性能问题。
502 字
|
3 分钟
SpringBean生命周期
image
701 字
|
4 分钟
Spring常见面试题
@Autowired属于Spring内置的注解,默认的注入方式是byType,也就是根据类型匹配,当有多个实现时 byType就没办法正确注入了,这个时候可以结合@Qualifier注解一起使用,指定注入的名称。当然也可以使用byName,也就是根据名称注入,但是需要结合@Qualifier注解一起使用。
996 字
|
5 分钟
模板方法模式
对原理类图的说明: AbstractClass 抽象类, 类中实现了模板方法(template),定义了算法的骨架,具体子类需要去实现 其它的抽象方法 ConcreteClass 具体类, 实现了抽象类中的抽象方法
1098 字
|
5 分钟
Redisson延时队列架构
延时队列是一种特殊的消息队列,消息在发送后不会立即被消费,而是等待指定的时间后才被消费者处理。就像设置了一个”闹钟”,到时间才响。
741 字
|
4 分钟
BigDecimal高精度计算
https://javaguide.cn/java/basis/bigdecimal.html
2093 字
|
10 分钟