Java面试高频核心内容


一、Java面试题

1、Java基础面试题与答案

数据类型与包装类

问题: 解释Integer的缓存机制及其范围
答案:
Integer类在-128到127之间预先缓存对象,通过IntegerCache静态内部类实现,避免重复创建小数值对象。超出范围则新建实例。

Integer a = 127;  // 使用缓存
Integer b = 127;  // 同一对象
System.out.println(a == b); // true
String相关

问题: String为何设计为不可变?
答案:
安全性(如哈希值计算)、线程安全、字符串池优化。修改String实际创建新对象,原对象不变。StringBuffer和StringBuilder适用于频繁修改场景,后者线程不安全但性能更高。

2、集合框架面试题与答案

HashMap原理

问题: HashMap如何解决哈希冲突?
答案:
链表+红黑树(JDK8)。冲突时链表存储,链表长度≥8且数组长度≥64时转为红黑树。扩容时重新计算索引,负载因子默认0.75。

// 扰动函数示例
static final int hash(Object key) {
   
    int h;
    return (key == null) ? 0 : (h 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值