1.String,StringBuffer和StringBuilder区别
String为immutable,StringBuffer为线程安全,StringBuilder非线程安全
2.如何对一已知的List中的对象排序
Collections.sort<List<T> list, Comparator<? super T> c>
对象实现Comparator接口的compare(T o1, T o2)方法
3.Java API中Arrays.sort(int[] a)排序算法是如何实现的
if(len < 7){
//Insertion sort on smallest arrays
}
if(len > 7){
//归并排序
}
4.如何实现一个Map
参考Java编程思想
参考http://blog.csdn.net/hillMover/article/details/333682
5.Object Adapter和Class Adapter的区别
The only difference is that with class adapter we subclass the Target and the Adaptee, while with object adapter
we subclass we use composition to pass requests to an Adaptee.
6.Decorator(装饰器) 与Adapter(适配器)的区别
7.Java内部类
静态内部类,非静态内部类,匿名内部类和局部内部类
参考Effective Java
8.Inheritance(继承)与Composite(组合),abstract class(抽象类)与Interface(接口)
参考Effective Java
9.Timer的schedule和scheduleAtFixedRate方法的区别
schedule方法:如果第一次执行时间被delay了,随后的执行时间按 照 上一次 实际执行完成的时间点 进行计算
scheduleAtFixedRate方法:如果第一次执行时间被delay了,随后的执行时间按照 上一次开始的时间点进行计算,并且为了”catch up”会多次执行任务,TimerTask中的执行体需要考虑同步
10.Java引用,强引用,弱引用和软引用
11.Java垃圾回收器
12.Java对象的生命周期
Created,In use (strongly reachable),Invisible,Unreachable,Collected,Finalized,Deallocated
13.面向对象的特征
抽象,继承,多态和封装
14.HashCode 与equals方法
15.类的初始化顺序
静态变量,静态初始代码块>变量及初始化块>构造器
如果加入继承:父类静态变量,父类静态初始代码块>子类静态变量,子类静态初始代码块>父类变量及初始化块>父类构造器>子类变量及初始化块>子类构造器
16.ArrayList和LinkedList如何实现
ArrayList 数组来实现
LinkedList : 构造一对象来实现,e.g
private static class Entry<E> { E element; Entry<E> next; Entry<E> previous; Entry(E element, Entry<E> next, Entry<E> previous) { this.element = element; this.next = next; this.previous = previous; } }