自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 浅谈Spring中的设计模式(一)

抽象工厂模式提供一个接口,用于创建一系列相关或相互依赖的对象,而不需要指定具体的类。每个工厂实现类负责创建一组产品,客户端可以通过选择不同的工厂实现类来获得不同系列的产品。

2024-04-22 12:08:30 567

原创 Spring如何解决循环依赖

当我们在创建Aservice的bean的过程中,还需要创建Bservice的bean,此时又会进入Bservice的bean的生命周期中,但是在Bservice的创建过程中,又需要装配一个Aservice对象,此时就形成了循环依赖,这种循环依赖会导致代码结构不清晰,应该尽量避免。

2024-04-15 00:50:54 337 2

原创 HashMap的底层去重原理

HashMap是Java 中的一种基于哈希表实现的集合类,它属于java.util包。HashMap允许存储键值对,并通过键来快速检索值。以下是HashMapHashMap使用哈希表数据结构来存储键值对。每个键值对都映射到哈希表中的一个桶,其中每个桶可能包含一个或多个键值对。通过哈希码来确定键值对在桶中的位置,从而实现快速的查找和插入操作。HashMap中的键和值可以是任意类型,包括null。但需要注意的是,一个HashMap只能包含一个null键,但可以包含多个null值。由于哈希表的设计,

2024-01-28 00:51:58 1435

原创 Set集合的去重原理

1. HashSet使用add()方法向Set中添加元素时,先使用 HashCode()方法计算待添加对象的HashCode值,来判断对象加入的位置,同时与Set中其他已经加入的对象作比较,判断HashCode值是否相等。可以清楚的看到只进行了地址的比较,很明显,这并不符合逻辑,按理来说在实际的开发过程中,如果两个对象的内容完全相同,我们就可以认为这是两个相同的对象,那么hashCode值也应该相同。可见在重写equals()方法以后,如果两个对象内容相同,也认为它们equals()方法的结果是true。

2024-01-27 21:41:13 1494

原创 Java字符串String、StringBuilder与StringBuffer的异同

在java.String类实例化的String对象是一种不可变对象,字符串中的内容是不可改变的。实际上,查看String类的源码定义是一个由final关键字修饰的字符数组value,用来存放字符串的内容,它可以看成是一个常量,其对字符数组对象的指向不能再被更改,但是value指向的字符数组的内容仍然可以被修改。当尝试修改String对象时,会new一个新的字符串对象,而原来的字符串值并未改变,以下是字符串截取源码的例子,可以看到最后返回了一个new字符串对象。

2024-01-18 20:56:00 1571 1

空空如也

空空如也

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

TA关注的人

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