java技术栈
1 java基础: 1 算法 1.1 排序算法:直接插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序、基数排序 1.2 二叉查找树、红黑树、B树、B+树 1.3 BitSet解决数据重复和是否存在等问题 2 基本 2.1 字符串常量池的迁移 jdk1.6,string in PermGen永久代,方法区,在运行时大小不可扩展, jdk1.7,string in heap,-XX:StringTableSize=1009(default),WeakHashMap<String, WeakReference<String>> jdk1.8,string in heap,default table size 25-50K 2.2 字符串KMP算法 2.3 equals和hashcode 2.4 泛型、异常、反射 2.5 string的hash算法 2.6 hash冲突的解决办法:开放定址法和拉链法 2.7 foreach循环的原理 2.8 static、final、transient等关键字的作用 2.9 volatile关键字的底层实现原理 2.10 Collections.sort方法使用的是哪种排序方法 2.11 Future接口,常见的线程池中的FutureTask实现等 2.12 string的intern方法的内部细节,jdk1.6和jdk1