刷面试题第三天

1、 ArrayList与LinkedList的区别
ArrayList底层使用的是数组,因此对于查询比较快,但是如果要插入和删除比较慢,因为如果要插入或者删除就得移动该位置后面所有的元素。
LinkedList使用的是链表,因此对于插入和删除比较慢,但是查询就得从头开始查,比较慢。
2、 HashMap和HashTable的区别
(1)、HashMap可以储存Null值(key-value都可以),但是HashTable不行(key-value都不行)
(2)、HashMap线程不安全,效率较高。HashTable线程安全,效率低。
(3)、初始化数组与扩容方式不同。Hashtable初始化是11,每次扩容增加2n+1;HashMap初始化为16,每次扩容为2的幂次方。
(4)、HashTable是继承自Dictionary类,而HashMap是继承自AbstractMap类。同时实现了map、Cloneable(可复制)、Serializable(可序列化)这三个接口
3、实现一个拷贝文件的工具类使用字节流还是字符流
通常使用字节流,因为要考虑文件是否图片、声音等字节流。
4、 线程的实现方法
(1)、继承Thread类,重写run方法,调用方法:new 类().start();
(2)、实现Runnable接口,重写run方法,调用方法:new Thread(new 类()).start();
(3)、实现Callable接口,重写call()方法,调用方法:首先实现类,然后使用FutureTask,最后new Thread().start;
(4)、线程池,使用Executor创建线程池。好处:提高响应速度,降低资源消耗,提高线程的管理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值