人怎么能问候自己的十年后呢,因为,悲观点说,你不知道你十年后还在不在,飞来横祸,潦倒失意,都可能让生活戛然而止,那这篇问候也就成了一纸空约。乐观点说,如果未来顺风顺水,升官加爵,未来操心的事情也许不是今天的一两句祝福能够解开的。这封问候信,不像是写给未来的自己的,倒更像是写给当下的自己的,让自己鼓足 ...
分类:
其他好文 时间:
2020-02-27 12:49:58
阅读次数:
60
1、悲观锁: 执行操作前假设当前的操作肯定(或有很大几率)会被打断(悲观)。基于这个假设,我们在做操作前就会把相关资源锁定,不允许自己执行期间有其他操作干扰。Redis不支持悲观锁。Redis 作为缓存服务器使用时,以操作为主,很少写操作,相应的操作被打断的几率较少。不采用悲观锁是为了防止降低性能。 ...
分类:
其他好文 时间:
2020-02-24 18:34:24
阅读次数:
120
我的代码十分简单,“暴力型”的: 还编译错误了好几次!虽然对了,可是用时不大乐观: 我都不好意思晒出来……我太菜了…… 不过我只有六年级吗。加油!!! ...
分类:
编程语言 时间:
2020-02-21 10:02:18
阅读次数:
74
整个的体系图 悲观锁,乐观锁 是一个广义概念;体现的是看待线程同步的不同角度。 悲观锁 认为在自己使用数据的时候一定有别的线程来修改数据,在获取数据的时候会先加锁,确保数据不被别的线程修改。 实现:关键字synchronized,接口Lock的实现类 适用场景:写操作多,先加锁可以保证写操作时的数据 ...
分类:
编程语言 时间:
2020-02-20 22:14:44
阅读次数:
64
引言 这部分内容详解线程的同步与互斥,解决线程同步与互斥的主要方式是 CAS、synchronized 和 lock。 CAS 与 ABA 问题 什么是 CAS ? CAS 是乐观锁的一种实现方式,是一种轻量级锁,JUC 中很多工具类的实现都是基于 CAS 的,用于解决线程的同步与互斥。解决线程同步 ...
分类:
编程语言 时间:
2020-02-18 13:21:40
阅读次数:
100
面试官:你了解乐观锁和悲观锁吗? 乐观锁和悲观锁是两种思想,用于解决并发场景下的数据竞争问题。 悲观锁的实现方式是加锁,加锁既可以是对代码块加锁(如Java的synchronized关键字),也可以是对数据加锁(如MySQL中的排它锁)。 乐观锁的实现方式主要有两种: "CAS机制" 和版本号机制, ...
分类:
其他好文 时间:
2020-02-15 15:47:54
阅读次数:
85
第一部分 悲观锁 1 概念(来自百科) 悲观锁,正如其名,它指的是对数据被外界(包括当前系统的其它事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排它性,否则, ...
分类:
数据库 时间:
2020-02-15 13:30:28
阅读次数:
71
数据库锁: 首先引用一张其他博主的图: 下面我就针对这图中的锁逐一进行一下解释: 悲观锁: 数据库总是认为多个数据库并发操作会发生冲突,所以总是要求加锁操作。悲观锁主要表锁、行锁、页锁。 乐观锁: 数据库总是认为多个数据库并发操作不会发生冲突,所以总是不加锁操作。所以在数据进行提交更新的时候,才会正 ...
分类:
数据库 时间:
2020-02-15 13:18:30
阅读次数:
99
悲观锁 总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁。 传统的关系型数据库中用到了很多这种锁机制,比如行级锁、表级锁、读锁、写锁等,都是在做操作之前先上锁。 使用场景:多写的场景 实现方式:加锁 乐观锁 总是假设最好的情况,每次去拿数据的时候都认为别人不会修 ...
分类:
数据库 时间:
2020-02-13 23:17:36
阅读次数:
129
按照我本来的计划安排,我每天拿出25分钟阅读,15分钟来写一篇读后感。每次包含一章的内容。后来我发现我错了,正如布鲁克斯老师在书中写的一样:“我认为用人月作为衡量一项工作的规模是一个危险和带有欺骗性的神话”。我昨天试读的第一章焦油坑和第二章人月神话的字数虽然相差只是几百字,但是,这其中包含的内容包含 ...
分类:
其他好文 时间:
2020-02-13 17:01:15
阅读次数:
78