oracle读锁和写锁,java读写锁介绍与oracle的读写分离区别

(只是一些无聊的理论,给自己看的,有错误希望指出,不喜勿喷)

java中,正常同步时读写是相互阻塞,但是想一想,如果数据一直读不写,数据没有变,互相阻塞的操作就不合理,于是就引出了java的读写锁。冷不丁的一看这和oracle的读写分离有点像,有点感觉,但是好像又不太一样,一个用redo与undo,一个用锁,实现方式根本就不一样,这是为啥嘞。

java的读写锁就是读与读之间不相互阻塞,读与写之间相互阻塞,写与写之间相互阻塞。

oracle的读写分离出现使得oracle在最早的一段时间成为老大,他的undo与redo日志实现了读写分离与数据回滚,保持数据一致性与安全。

java读写锁与oracle的读写分离实现方式为什么不太一样

java锁与oracle的读写分离实现的业务不同导致的

oracle的使用保持数据一致性的传统,读的是五点整开始查数据,因为计算机又或者数据量太大等原因,五点01数据才读完,但是业务上用户就想要查询五点的数据,所以oracle读写分离实现了五点零一返回了用户在五点钟查询到的数据,就算在五点与五点零一之间用户做了任何改动(夸张点说),返回的还是五点整这个时间点的数据。

所以oracle在五点零一得到的数据是五点整那一时刻的数据,而java的读写操作要求,读的数据时最后的数据,如果查询中途数据发生改变,也要返回改变的数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值