2020.07.02
1.List.subList(beginIndex,endIndex)
获取列表中前endIndex个元素,返回值为list。
再说各个子类实现这个方法之前,先说一下"随机访问"的RandomAccess接口: ArrayList实现了一个叫做 RandomAccess
的接口,而 LinkedList 是没有的 。 RandomAccess 是一个标志接口,表明实现这个这个接口的 List 集合是支持快速随机访问的。也就是说,实现了这个接口的集合是支持 快速随机访问 策略的。 如果是实现了这个接口的 List,那么使用for循环的方式获取数据会优于用迭代器获取数据。
可以看一下Collections的binarySearch方法中对于这一点的运用:(by the way:二分查找的阈值是5000)
AbstractList方法的内部实现:
如果不用这个api,我会怎么实现这个效果呢?
遍历获取,达到长度之后返回。这个明显要比这个api智障很多。所以恰当的设计子类,可以很好的实现这种效果。这是我第一次意识到子类还可以有这种作用。虽然知道了这个类的精妙之处,但是我想不出来哪里可以用到这一点,毕竟如果有需要,直接用list类的subList方法就好了。
然后实现这个功能,还可以用list.stream.limit这个api实现,也可以用内存分页实现,具体可以看一下这个链接:https://blog.csdn.net/deb_ug/article/details/51504494
2.多线程控制执行顺序的方式有哪些?contdownlatch在工作中的运用。
3.ThreadLocal在工作中的运用。
2020.07.03
1.输出的重要性,同事的技术分享很精彩,我可以分享学习jdk的收获和乐趣,或者学习链表的收获。然后把另一个ppt,积极心理学准备好,以防自己这个ppt讲的不好。
来源:oschina
链接:https://my.oschina.net/u/3944601/blog/4333168