2018.7面试题

一、收钱吧

  1. spring的核心思想:
  2. hashtable和hashmap(实现原理新版的)和currenthashmap(线程安全)
  3. HashMap如果hashcode冲突性过高,形成单链表,怎样优化查询速度
  4. 100G的内存排序200G大小的文件(分割)
  5. java上锁同步
  6. springboot为什么可以直接使用jar中的方法
  7. springMVC设计思想
  8. java常见设计模式
  9. 常常逛哪些论坛java

HashTable使用synchronized关键字对z整个对象加锁,当其大小增加到一定程度时,性能急剧下降,因为迭代时需要被锁定很长时间,已经被淘汰。

而HashMap没有锁机制,不是线程安全的。HashMap在底层将key-value当成一个Entry对象整体进行处理。采用Entry[]数组来保存所有的键值对。当需要存储一个Entry对象时,会根据hash算法来决定其在数组中的位置,再根据equals方法决定其在该数组位置上的的链表中的存储位置。

HashMap的键值对允许有null,但CurrentHashMap都不允许。

 CurrentHashMap对整个Map分割分段(segment,默认为16),然后在每一段上都用lock锁进行保护,

Model封装业务逻辑和数据的模块;Controller层调用这些模块(使用Servlet或Struts2);View展现在用户面前;

猜你喜欢

转载自blog.csdn.net/baidu_35758682/article/details/81187082