面试准备&总结-Java基础篇
在vps的服务器到期了,在hw又不能访问,直接在博客园写笔记了。 基础篇 1. 集合类的继承关系,源码实现原理,初始大小和如何增长。 - list类初始大小10,加载因子为1,扩容到1.5+1。底层是个Object数组,调用 System.arraycopy进行拷贝。 - Vector同上,扩容倍数是两倍,是同步的,线程安全。 - HashMap初始大小16,加载因子0.75f,扩容到2倍。底层是数组+链表,调用resize()调整位置。 ConcurrentHashMap分段锁,相当于若干个hashtable。 -散列冲突:开放定址法,链地址法,最坏情况下如何优化。 - HashTable初始大小11,加载因子0.75f,扩容到2倍+1。同步,线程安全。 Hashtable不允许空 key空 value - TreeMap. 底层红黑树,能够保持有序,效率略低。 -阻塞队列LinkedBlockingQueue,非阻塞队列ConcurrentLinkedQueue,常用在线程pipe上。 指定大小可以提高性能。可能还会问Collections和Arrays中常用的方法。 2. interface和abstract class的区别 -接口可以多重实现,抽象类不能多重继承。 -抽象类中可以有 attribute,接口只能有 method。 -接口的方法必须没有实现