ARTS 第 4 周
每周完成一个 ARTS:
Algorithm: 每周至少做一个 LeetCode 的算法题
Review: 阅读并点评至少一篇英文技术文章
Tips: 学习至少一个技术技巧
Share: 分享一篇有观点和思考的技术文章(一周一篇强度有点大,视情况而定)
Algorithm
本周做了102. 二叉树的层序遍历,我刚开始想的解法是通过递归实现,其实也就是DFS深度遍历。
DFS
还有一种广度遍历的解法,
BFS
Review
本周阅读的是《Successful Remote Working》,这是极客时间《互联网人的英语私教课》推荐的文章。
要点
1.远程员工首先是要找到家与工作间又明确的区分。
2.成功的远程工程不仅取决于员工,公司和经理应该努力表现透明性建立信任。
3.远程管理者和员工q建起始于良好会议仪式。
4.定期会议的既定日历还有助分布式团队构建。
5.员工与经理间的一对一会议非常重要。
6.制定远程办公战略非常具有挑战性。
7.虽然远程办公对某些员工非常又吸引里,但确实需要权衡取舍。
Tip
在项目中使用到了多线程向List中添加数据,但是ArrayList是线程不安全的,所以我收集了一下解决方案,
1.使用synchronizedList
使用方法
synochronizedList源码中基本上所有操作都加了锁,适合对数据要求较高的情况,但效率较低。
2.使用CopyOnWriteArrayList
CopyOnWriteArrayLisz是在执行修改操作时,copy一份新的数据进行相关操作,在执行完修改后将原来集合指向新的集合来完成修改操作
源码
CopyOnWriteArrayList 效率高,适合读多写少的场景,因为在读的时候读的是旧集合,所以它的实时性不高。
share
本周无分享
评论