HashMap和ConcurrentHashMap的区别
2025-08-11
内存结构: hashMap引入了红黑树,从Jdk1.8开始,hashmap采用数组+ 链表+ 红黑树的结构。当链表长度超过一定阈值(8)的时候,链表会转换为红黑树,小于6的时候会转换为链表,以提高查找效率。ConcurrentHashMap放弃了分段锁机制,采用CAS + synchronized的方式保证线程安全,内部结构和HashMap一样,也引入了红黑树,是数组+ 链表+ 红黑树的结构。
605 字
|
3 分钟
Spring中的BeanFactory与FactoryBean
2025-08-08
深入理解Spring容器的核心接口BeanFactory与特殊工厂Bean——FactoryBean的区别、使用场景与最佳实践
1548 字
|
8 分钟
Spring配置相关的注解
2025-08-08
当然!这是一个非常重要且实用的主题。在 Spring 和 Spring Boot 中,与属性(Property)相关的注解是实现“配置与代码分离”这一核心原则的关键。
1642 字
|
8 分钟
redis配置json序列化
2025-08-08
序列化的最终目的是为了对象可以跨平台存储,进行网络传输。
Redis默认用的是JdkSerializationRedisSerializer,它使用JDK提供的序列化功能,优点是反序列化的时候不需要提供类型信息,但缺点是序列化后的数据体积较大,性能较低。
因此,通常会使用更高效的序列化方式,如JSON、Protobuf等
1033 字
|
5 分钟

volatile-实现单例模式的双重锁
2025-08-07
单例模式的双重锁是一种实现单例模式的技术,通过两次检查实例是否为null,结合同步锁来保证在多线程环境下只创建一个实例,并试图通过减少同步的次数来提高性能。为了确保线程安全,尤其在涉及到对象创建的指令重排的问题的时候,通常需要使用 volatile关键字来修饰单例类的实例变量。
899 字
|
4 分钟