Java面试题汇总(持续更新),面试问题汇总
分享于 点击 128 次 点评:92
Java面试题汇总(持续更新),面试问题汇总
1. ==和equals的区别
答:
- 基础数据类型比较:只能使用==,比较值是否相等
- 引用数据类型比较:
- 没有重写equals方法:==和equals没有区别,比较的都是引用是否指向了同一块内存
- 重写了equals方法:equals比较的是引用的对象内容是否相等(在javaBean规定中当重写equals时必须重写hashCode,两个对象的equals相等,hashCode也必须相等,如果不相等就会造成相同的对象在HashSet存储中存储两次)
2. 堆与栈的区别
答:1. 栈内存存储的是局部变量,而堆内存存储的是实体
2. 栈内存的更新速度要快于堆内存,因为局部变量的生命周期很短
3. 栈内存存放的变量生命周期一旦结束就会被释放,而堆内存存放的实体会被垃圾回收机制不定时回收
相关文章
- 暂无相关文章
用户点评