面经总结1

网上查找得到的零碎经验

HashMap

1.初始容量16,负载因子0.75,达到负载因子时候自动扩容(x2)
2.线程安全问题
	2.1  JDK1.7版本中采用头插法来装入数据,多线程扩容时可能造成死循环
	2.2 JDK1.8版本中采用尾插法来装入数据,多线程装入数据时可能覆盖数据
3.处理冲突方式
	3.1 开放地址。(地址冲突时,装入数组下一个空的位置)
	3.2 再哈希。(第一个Hash方式冲突后,再利用第二个第三个...哈希函数进行地址映射)
	3.3 JDK中采用链表方式,(1.8后采用红黑树)
	3.4 公共溢出。(建立一个公共溢出区,冲突的部分加入溢出区)

==和equal

==比较地址,equal比较内容

final、finally和finalize区别

1.final:java中的关键字,修饰符
	1.1 final修饰变量/属性,里面的值不能边
	1.2 final修饰方法,所属类被继承后该方法不能被重写
	1.3 final修饰类,该类不能被继承
2.finally:java的一种异常处理机制
	finally是对Java异常处理模型的最佳补充。finally结构使代码总会执行,而不管无异常发生。使用finally可以维护对象的内部状态,并可以清理非内存资源。特别是在关闭数据库连接这方面,如果程序员把数据库连接的close()方法放到finally中,就会大大降低程序出错的几率。
3.finalize:Java中的一个方法名
	Java技术使用finalize()方法在垃圾收集器将对象从内存中清除出去前,做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没被引用时对这个对象调用的。它是在Object类中定义的,因此所的类都继承了它。子类覆盖finalize()方法以整理系统资源或者执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值