首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
并发
订阅
已注销
更多收藏集
微信扫码分享
微信
新浪微博
QQ
14篇文章 · 0订阅
彻底理解synchronized
通过字节码分析以及源码解析深入理解synchronized的使用场景以及背后的实现原理,避免在生产环境出现并发问题,
Synchronized解析——如果你愿意一层一层剥开我的心
synchronized,是解决并发情况下数据同步访问问题的一把利刃。那么synchronized的底层原理是什么呢?下面我们来一层一层剥开它的心,就像剥洋葱一样,看个究竟。 接下来,我们先剥开synchronized的第一层,反编译其作用的代码块以及方法。 由图可得,添加了s…
【肥朝】你的接口,真的能承受高并发吗?
好在这个并发问题的难度并不大,本篇案例排查非常适合小白入门,我们可以通过本地模拟场景重现,将问题范围缩小,从而逐步定位问题. 首先我们可以准备一个并发工具类,通过这个工具类,可以在本地环境模拟并发场景.手机查看代码并不友好,但是没关系,以下代码均是给你复制粘贴进项目重现问题用的…
java并发异步编程 原来十个接口的活现在只需要一个接口就搞定!
先来看一些APP的获取数据,诸如此类,一个页面获取N多个,多达10个左右的一个用户行为数据,比如:点赞数,发布文章数,点赞数,消息数,关注数,收藏数,粉丝数,卡券数,红包数........... 真的是多~ Future、FutureTask、ExecutorService..…
面试官:说一下公平锁和非公平锁的区别?
上次我们提到了乐观锁和悲观锁,那我们知道锁的类型还有很多种,我们今天简单聊一下,公平锁和非公平锁两口子,以及他们在我们代码中的实践。 开始聊之前,我先大概说一下他们两者的定义,帮大家回顾或者认识一下。 公平锁:多个线程按照申请锁的顺序去获得锁,线程会直接进入队列去排队,永远都是…
说点JMM 让你的面试锦上添花
JDK天生就是多线程的,多线程大大提速了程序运行的速度,但是凡事有利就有弊,并发编程时经常会涉及到线程之间的通信跟同步问题,一般也说是可见性、原子性、有序性。 线程的通信是指线程之间通过什么机制来交换信息,在编程中常用的通信机制有两个,共享内存跟消息传递。 共享内存。 消息传递…
学并发编程,透彻理解这三个核心是关键
这里面用了两个「合适」,将 Story 拆分成大小适中,可完成的 Task 是非常重要的。拆分的粒度太粗,导致这个任务完成难度变高,耗时长,不易与其他人配合;拆分的粒度太细,又导致任务太多,不好管理与追踪,浪费精力和资源。(合适的线程才能更好的完成整块工作,当然一个线程可以轻松…
并发环境下,先操作数据库还是先操作缓存?
在分布式系统中,缓存和数据库同时存在时,如果有写操作的时候,先操作数据库还是先操作缓存呢?先思考一下,可能会存在哪些问题,再往下看。下面我分几种方案阐述。 假设有一写(线程A)一读(线程B)操作,先操作缓存,在操作数据库。,如下流程图所示: 这样看,没啥问题。我们再看第二个流程…
Java并发篇-全面解析Executor框架
FixedThreadPool:含有固定线程数的线程池。 SingleThreadExecutor:单线程的线程池,需要保证任务顺序执行时采用。 CachedThreadPool:大小无界的线程池,只要需要线程就可以一直创建线程。 SingleThreadScheduledEx…