写点什么

ARTS 挑战打卡第八周(200629-200705)

发布于: 2020 年 08 月 24 日
ARTS挑战打卡第八周(200629-200705)

Algorthm

https://leetcode.com/problems/insert-into-a-binary-search-tree

思路:记住二叉搜索树的特性,左子树比根节点小,右子树比根节点大,根据这个判断不断往下走,直到找到空节点,就可以把节点添加进去。



Review

https://muratbuffalo.blogspot.com/2018/04/book-review-how-to-write-lot-practical.html

一篇书评,讲如何写文章的练习,一直在练习写作,所以对这个话题也挺感兴趣。



作者总结了几个建议:

  • 关于找时间写作,把写作放到自己的日程上,只有这个方法

  • 自律,该干嘛干嘛,该写作就写作,而不要去浏览邮件/上网

  • 开始写,就会有灵感了,不要等到灵感来了才行动

  • 列出写作计划

  • 先写,后面在修改,不要同时进行(草稿)



这周写的博客也深有体会,其实最重要的就是找到一个主题,先去写,先动手,就会有新的想法产生,全部写完之后,再找时间去慢慢修改,如果有画图的地方,也是写完之后再修改。



Tip

乐观锁与悲观锁



悲观锁

总是假设最坏的情况,指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。在悲观锁的情况下,读数据时加锁,其他事务无法修改这些数据,修改数据时也加锁,其他事务无法读取这些数据。

Java中synchronized和ReentrantLock等独占锁就是悲观锁思想的实现。



乐观锁

乐观锁,总是假设最好的情况,每次操作数据都认为别人不会修改,所以不会加锁。在更新的时候会判断一下在此期间有没有其他行为去更新这个数据,可以使用版本号机制和CAS算法实现。乐观锁适用于多读的应用场景。

在Java中java.util.concurrent.atomic包下面的原子变量类就是使用了乐观锁的一种实现方式CAS实现的。



Share



blog-Raft探索历程-part2



原创文章,文笔有限,才疏学浅,文中若有不正之处,万望告知。

如果本文对你有帮助,请点个赞吧,谢谢





发布于: 2020 年 08 月 24 日阅读数: 43
用户头像

公众号【老胡爱分享】 2018.03.13 加入

一个热爱分享,热爱分享的普通人。 追求终身成长,希望用文字的力量服务大众。

评论

发布
暂无评论
ARTS挑战打卡第八周(200629-200705)