发表于: 2017-07-18 23:06:28

4 1060


【说明】今天主要是看了apache shiro 的一些东西,刚看接触起来还是有点问题的,demo好几个都没有跑起来

一:今日完成 

⒈ task1—1 :每天来点面试题【自己总结自己总结自己总结】

(1)LIst 接口有那些实现类,有什么区别,应用场景有什么区别?

有三个 ArrayLIst , LinkedLIst  , 还有 Vector

底层数据结构不一样

ArrayList 是 动态数组实现的,

LinkedList 是链表实现的

Vector 和 ArrayLIst 实现方式类似,但是 是线程安全的(也就是有 加锁解锁 的操作,然后就会有额外开销)

 

对于查找数据和少量的增删改 完全可以用 ArrayLIst,因为数组的查找可以直接根据下标(索引)查找,速度特别快

而 LinkedListt 适合大量的增删改 ,因为是链表数据结构 ,所以数据不需要像数组那样同步移动,只需要修改链表节点的头尾节点即可

而 Vector 就应用比较少了,适合那些对多线程操作要求比较高的,保证线程的同步(同一时刻只有一个线程在操作,线程之间通信有花销)

(2)遍历 Map 的几种方式,以及响应适用场景

有四种

增强 for 循环

for (String key : map.keySet()) {
System.out.println(key+map.get(key));
}

迭代器

  while (it.hasNext()) {
   Map.Entry<String, String> entry = it.next();
   System.out.println(entry.getKey() + entry.getValue());
  }

entrySet

  for (Map.Entry<String, String> entry : map.entrySet()) {
   System.out.println(entry.getKey() +  entry.getValue());
  }

keySet

Iterator<String> iterator = map.keySet().iterator();
while (iterator.hasNext()) {
String key = iterator.next();
System.out.println(key +  map.get(key));
}

知道了有这四种方式之后是不是需要了解一下到底那个速度快点,经常用的又是哪个

网上找了找

发现有人做了测试

增强 for 循环使用方便,但是大数据处理起来会慢点

迭代大概是 for 循环的 1.5 倍

entrySet 比 KeySet 快很多,1.5 倍左右

二:明日计划

明天因为时间充足(or 有限),打算完成

①后台端到端

------------------

②shiro demo

------------------

③了解萝卜多的权限管理模块

------------------

三:疑难问题

四:思考总结

Ⅰ 对自己今天的进度满意吗

------------------一般般

Ⅱ 那些困扰自己的问题所在

------------------shiro 的demo 跑不起来

Ⅲ 暗示自己为明天加油打劲

------------------老大也提建议说多看看权限管理



返回列表 返回列表
评论

    分享到