首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
并发
订阅
mw
更多收藏集
微信扫码分享
微信
新浪微博
QQ
22篇文章 · 0订阅
JAVA中锁的深入理解与解析
如果想要透彻的理解java锁的来龙去脉,需要先了解以下基础知识。 锁从宏观上分类,分为悲观锁与乐观锁。 乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,采…
线程池的实现原理
当线程被创建并启动后, 并不是一启动就进入执行状态,也不是一直处于执行状态.在线程的生命周期中,要经过新建、就绪、运行、阻塞、死亡五种状态. 当程序使用new关键字创建了一个线程之后,该线程就处于新建状态,此时仅由JVMJ为其分配内存,并初始化其成员变量的值. 当线程对象调用了…
一个线程罢工的诡异事件
事情(事故)是这样的,突然收到报警,线上某个应用里业务逻辑没有执行,导致的结果是数据库里的某些数据没有更新。 虽然是前人写的代码,但作为 Bug maker&killer 只能咬着牙上了。 有一个生产线程一直源源不断的往队列写数据。 消费线程也一直不停的取出数据后写入后续的业务…
JAVA多线程使用场景和注意事项
我曾经对自己的小弟说,如果你实在搞不清楚什么时候用HashMap,什么时候用ConcurrentHashMap,那么就用后者,你的代码bug会很少。 编程不是炫技。大多数情况下,怎么把代码写简单,才是能力。 多线程生来就是复杂的,也是容易出错的。一些难以理解的概念,要规避。本文…
并发编程前传
以前在学习 C++ 关键字 volatile 的时候,看过阿里数据库大牛何登成关于 volatile 的文章《C/C++ volatile关键词深度剖析》,看的云里雾里。主要是当时没理解什么是可见性、原子性和有序性;没有理解什么是内存模型及一些规范。相信很多初学者和我一样,在学…
synchronized原理学习笔记
所有Java对象都会有一个monitor,当monitor被持有后,对象就处于锁定状态。当执行到monitorenter指令时,线程会尝试获取对象的monitor,而执行monitorexit后会释放对象的monitor 锁由同一线程多次获取时,会在对象头中记录线程ID,并在之…
啃碎并发(四):Java线程Dump分析
Thread Dump是非常有用的诊断Java应用问题的工具。每一个Java虚拟机都有及时生成所有线程在某一点状态的thread-dump的能力,虽然各个 Java虚拟机打印的thread dump略有不同,但是 大多都提供了当前活动线程的快照,及JVM中所有Java线程的堆栈…
技术问答集锦(12)并发编程-任务执行
1串行执行的缺点?2每一个任务创建一个线程的不足?3为什么要用线程池,如何合理的设置线程数量?4如何计算JVM可创建线程的最大数量?5Runnable是接口还是类?为什么Runnable接口可以new
Java高并发综合
没错,真的是经过了面试官的无数鄙视,我才知道Java并发编程在Java语言中的重要性。 悲观锁假设最坏的情况(如果你不锁门,那么捣蛋鬼就会闯入并搞得一团糟),并且只有在确保其他线程不会干扰(通过获取正确的锁)的情况下才能执行下去。 常见实现如独占锁等。 安全性更高,但在中低并发…