2020.07.02-2020.07.05学习记录

泪湿孤枕 提交于 2020-10-16 15:00:05

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讲的不好。

 

 

 

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!