自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 Spring-boot的自动装配原理

自动装配是Springboot的核心,实际上早就实现了这个功能。Spring Boot 只是在其基础上,通过SPI的方式,做了进一步优化。SpringBoot 定义了一套接口规范,这套规范规定:SpringBoot 在启动时会扫描外部引用 jar 包中的文件,将文件中配置的类型信息加载到 Spring 容器,并执行类中定义的各种操作。对于外部 jar 来说,只需要按照 SpringBoot 定义的标准,就能将自己的功能装配进 SpringBoot。

2024-05-05 19:21:27 307

原创 Spring框架的常见设计模式

Spring框架中常见的设计模式有:工厂模式单例模式策略模式代理模式模版方法适配器模式

2024-04-21 17:20:17 792 1

原创 如何解决Spring中的循环依赖问题

循环依赖是指类与类之间的依赖关系形成了闭环,例如类A依赖类B,类B也依赖类A,这种情况就会出现循环依赖。BeanABeanBBeanA当Spring上下文在加载所有的bean时,会尝试按照他们关联关系的顺序进行创建。BeanABeanBBeanC首先 A 完成初始化第一步并将自己提前曝光出来(通过 ObjectFactory 将自己提前曝光),在初始化的时候,发现自己依赖对象 B,此时就会去尝试 get(B),这个时候发现 B 还没有被创建出来;

2024-04-14 12:01:07 692 2

原创 HashMap使用put方法添加数据时底层实现原理解析

hashMap在put方法中,使用了hashCode()和equals()方法。当我们通过传递key-value键值对调用put方法时,hashMap使用哈希算法来找出存储key-value键值对的对应索引。如果索引处为空,则直接插入到数组中,否则,判断是否是红黑树,若是,则红黑树插入,否则遍历链表,当链表长度大于8,将链表转为红黑树,转成功之后再插入。

2024-01-25 21:34:56 956 1

原创 为什么重写hashCode()时,必须重写equals()?

1、保证单一原则:equals相同的两个对象的hashcode必须相同。如果重写了equals而没有重写hashcode,会出现equals相同hashcode不相同这个现象。2、在无序集合中(如Set),使用hashcode来计算key应存储在hash表的索引,如果重写了equals而没有重写hashcode,会出现两个完全相同的对象。因为hashcode不同,计算出的索引不同,那么这些集合就会混乱。

2024-01-24 22:49:33 2100 1

原创 String对比StringBuilder、StringBuffer及其扩容机制

StringBuffer是Java1.0的API,StringBuilder是Java1.5的APIStringBuffer和StringBuilder都是继承自 AbstractStringBuilder针对线程而言,是线程安全的 ,是线程不安全的针对效率而言,StringBuffer效率较低StringBuilder较为高效String类特点String类是被final修饰的内部原理是一个char类型的字符数组由于被final所修饰,所以它是采用定长数组存储数据的由于是被。

2024-01-19 00:28:52 900 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除