- 1
- 0
- 约4.8千字
- 约 7页
- 2026-06-08 发布于河北
- 举报
Java高频面试题及详细答案(真实面试版)
一、Java基础核心(必问)
1、==和equals的区别?
这是面试最基础的问题,核心区别分两种场景:
基本数据类型:==比较的是数值本身,基本类型没有equals方法。
引用数据类型:==比较的是对象的内存地址,判断是不是同一个对象;equals是方法,默认也是比较地址,但像String、Integer这些常用类都重写了equals,重写后是比较对象的内容值。
举个实际例子:newString(abc)==abc是false,因为地址不一样;但equals结果是true,因为内容相同。
2、String、StringBuilder、StringBuffer的区别?
核心就三点:可变性、线程安全、性能
1、String:字符串不可变,每次拼接都会生成新字符串对象,频繁拼接会产生大量垃圾对象,效率最低。
2、StringBuffer:可变字符串,方法加了synchronized锁,线程安全,多线程场景用,性能稍差。
3、StringBuilder:可变字符串,无锁,线程不安全,单线程场景首选,性能最好。
实际开发中:绝大多数业务都是单线程字符串拼接,直接用StringBuilder;只有多线程共享字符串的场景才用StringBuffer。
3、final、finally、finalize的区别?
三个单词只是长得像
您可能关注的文档
最近下载
- 2026年高考湖北卷语文试卷官方卷及答案.doc VIP
- 2023数模国赛优秀论文E032.pdf VIP
- 食堂管理中的财务风险防控.docx VIP
- 2026年大二艺术设计数字媒体创作实践题.doc VIP
- 2026年大三国际关系国际组织运作分析题.doc VIP
- 2023年临沂大学公共课《中国近代史纲要》期末试卷A(有答案).docx VIP
- 2026《中考数学•压轴题》选择+填空(275题).docx VIP
- 东北地方史:高句丽的兴亡史.doc VIP
- 2026年大三数据科学机器学习算法设计题.doc VIP
- 2025年山东德州技能兴鲁职业技能大赛(动物疫病防治员)模拟题及答案.docx VIP
原创力文档

文档评论(0)