一、ArrayList与HashSet,Set的底层html
HashSet底层是经过HashMap实现的 java
【HashSet】 mysql
1. HashSet存储不可以存储相同的元素,元素是否相同的判断:重写元素的equals方法。equals方法和hashCode方法必须兼容,如:equals方法判断的是用户的名字name,那么hashCode的返回的hashcode必须是name。hashcode();linux
2. HashSet存储是无序的,保存的顺序与添加的顺序是不一致的,它不是线性结构,而是散列结构,(经过散列表:散列单元指向链表)。所以,HashSet的查询效率相对比较高。redis
3. HashSet不是线程安全的,不是线程同步的。这须要本身实现线程同步:Collections.synchronizedCollection(),方法实现。算法
【ArrayList】spring
1. 不是线程安全的,不是线程同步的。sql
2.ArrayList是经过可变大小的数组实现的,容许null在内的全部元素。数据库
3.ArrayList中存放顺序和添加顺序是一致的。而且可重复元素。数组
4.ArrayList适合经过位子来读取元素。
TreeMap与TreeSet
http://blog.csdn.net/speedme/article/details/22661671
TreeMap 和 TreeSet 是 Java Collection Framework 的两个重要成员,其中 TreeMap 是 Map 接口的经常使用实现类,而 TreeSet 是 Set 接口的经常使用实现类。虽然 TreeMap 和 TreeSet 实现的接口规范不一样,但 TreeSet 底层是经过 TreeMap 来实现的(如同HashSet底层是是经过HashMap来实现的同样),所以两者的实现方式彻底同样。而 TreeMap 的实现就是红黑树算法。
二、查找某个线程的load
http://blog.csdn.net/yaowj2/article/details/11764343
http://www.iteye.com/topic/1132321
http://www.cnblogs.com/chengJAVA/p/5821218.html
jvm调优工具 http://my.oschina.net/xionghui/blog/491741
三、内存溢出
http://www.cnblogs.com/lin-xuan/p/5271354.html
http://www.360doc.com/content/15/0228/14/16070877_451488021.shtml
最佳解释 http://blog.csdn.net/shimiso/article/details/21830871
四、jvm调优
五、rpc,thrift好处,rmi
六、redis特性,redis集群 zookeeper
七、数据库查询 explain
http://blog.csdn.net/zhuxineli/article/details/14455029
八、linux sort指令
http://www.cnblogs.com/dong008259/archive/2011/12/08/2281214.html
九、gc cms
spring ioc aop controller是否是线程安全
thrift 原理 优点 序列化协议
http head里面有啥 状态码 400 500区别 tcp状态 为何是三次握手 四次挥手
mysql优化
hashmap 里面结构 怎么查找 怎么扩容 怎么均匀分布 加元素是链表头仍是链表尾 hashtable的区别 concurrenthashmap 锁是怎么实现的
ArrayList与TreeSet区别 TreeSet底层实现
concurrent包 计数器 AtomicInteger 实现原理 包下的内容
redis集群 分布式加锁
事务 隔离级别 spring 事务 传播性
方法调用方法 有什么问题 栈溢出 内存溢出
jvm gc cms 还有哪些 jvm优化参数 类加载器
nio
方法模式 java类中的应用
排序
aop cglib