首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
并发
订阅
帆过那座山
更多收藏集
微信扫码分享
微信
新浪微博
QQ
14篇文章 · 0订阅
死磕 java同步系列之zookeeper分布式锁
问题(1)zookeeper如何实现分布式锁?(2)zookeeper分布式锁有哪些优点?(3)zookeeper分布式锁有哪些缺点?简介zooKeeper是一个分布式的,开放源码的分布式应用程序协调
漫话:如何给女朋友解释什么是2PC(二阶段提交)?
周末晚上,正在家里面看综艺节目,突然女朋友跑过来找我打《王者荣耀》。 打了几把游戏,终于可以歇息一会了,准备继续看我的综艺,可是女朋友过来找我给他讲讲到底什么是二阶段提交。 还好我们之前专门给女朋友介绍过什么是分布式,要不然这个话题说来就话长了。 在之前介绍分布式的时候,我们以…
Synchronized解析——如果你愿意一层一层剥开我的心
synchronized,是解决并发情况下数据同步访问问题的一把利刃。那么synchronized的底层原理是什么呢?下面我们来一层一层剥开它的心,就像剥洋葱一样,看个究竟。 接下来,我们先剥开synchronized的第一层,反编译其作用的代码块以及方法。 由图可得,添加了s…
Java多线程之ThreadPoolExecutor和ForkJoinPool的用法
在平时的工作中,当遇到数据量比较大、程序运行较慢,需要提升程序性能时,一般会涉及到多线程。有些小伙伴对多线程的用法不是很清楚,本文主要说明一下 ThreadPoolExecutor 和 ForkJoinPool 的用法。 首先我们假设这样一个场景,有一个接口,用来计算数组的和。…
我们来谈下高并发和分布式中的幂等处理
在编程中,一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影响系统状态,也不用担心重复执行会对系统造成改变。例如,“getUsername()和setTrue()”函数…
【每日鲜蘑】从数据库看乐观锁、悲观锁
此时是不加锁的,在高并发时,会出现文章表记录的点赞数比实际点赞数少的情况。下面我们使用加锁的方式来解决这个并发问题。 阿里巴巴的建议:如果每次访问冲突概率小于 20%,推荐使用乐观锁,否则使用悲观锁。乐观锁的重试次 数不得小于 3 次; 控制好锁的范围,减小锁定对象的范围,比如…
解决原子性问题?脑海中有这个模型就可以了
线程进入临界区之前,尝试加锁 lock(), 加锁成功,则进入临界区(对共享变量进行修改),持有锁的线程执行完临界区代码后,执行 unlock(),释放锁。针对这个模型,大家经常用抢占厕所坑位来形容: 这里我们锁的是 this,可以保护 this.count。但有些同学认为 g…
非常硬核的技术知识-CopyOnWrite思想
大家可以设想一下现在我们的内存里有一个ArrayList,这个ArrayList默认情况下肯定是线程不安全的,要是多个线程并发读和写这个ArrayList可能会有问题。 有一个非常简单的办法,对这个ArrayList的访问都加上线程同步的控制。 比如说一定要在synchroni…
聊聊 Java 虚拟机:类的加载过程
我们都知道 Java 源文件通过编译器 javac 命令能够编译生成相应的 class 文件,即二进制字节码文件。Java 虚拟机将描述类或接口的 class 文件(准确地说,应该是类的二进制字节流)加载到内存,对数据进行校验、转换解析和初始化,最终形成能够被虚拟机直接使用的 …