面试积累

一、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

相关文章
相关标签/搜索