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创建线程池。好处:提高响应速度,降低资源消耗,提高线程的管理
刷面试题第三天
最新推荐文章于 2024-07-21 22:27:18 发布