每天一套面试题Day30-八股高频(11)

链接题目来自牛客p6

我的每日一套面试题专栏,每天更新一起打卡

61.你知道哪些线程安全的集合?举例你是怎么使用的?

ConcurrentHashMap 链接:https://www.nowcoder.com/questionTerminal/beb3188055e240e486ae425fbed1e0e6?examPageSource=25mianshitop 来源:牛客网

blog

常见线程安全的集合包括ConcurrentHashMap、CopyOnWriteArrayList和BlockingQueue系列。例如在多线程统计时使用ConcurrentHashMap的compute方法保证原子计数,用CopyOnWriteArrayList维护监听器列表避免遍历时加锁,通过LinkedBlockingQueue实现生产者-消费者任务队列。Java并发包中的集合通过分段锁或写时复制机制实现高效线程安全。

62.说说Bean的生命周期。

my blog

63.SpringBoot 自动配置原理。

my blog

64.String、StringBuffer、Stringbuilder有什么区别?

alt

65.请你说说==与equals()的区别

== 运算符

  • 基本数据类型:比较的是值本身
  • 引用数据类型:比较的是对象的内存地址(是否指向同一个对象) equals() 方法 Object类的默认实现
// Object类的equals方法源码
public boolean equals(Object obj) {
    return (this == obj); // 默认就是==,比较地址
}

但是,很多类(如String、Integer等)重写了equals方法,使其比较的是对象的内容是否相等。因此,对于这些类,equals方法用于比较两个对象的内容是否相同。 重写自己类的equals方法时,必须同时重写hashCode()方法,这是为了满足equals和hashCode之间的契约(例如在HashMap、HashSet等集合中正常工作)。HashMap在散列的时候哈希值相同后会调用equals方法,不重写的话,原本认为相同的对象的哈希值不同,直接散列到了不同的位置。

#面试真题#
每日一套面试真题 文章被收录于专栏

记录刷过的面试真题

全部评论

相关推荐

12-03 21:23
武汉大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务