首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
线程
订阅
waltz
更多收藏集
微信扫码分享
微信
新浪微博
QQ
18篇文章 · 0订阅
Java锁机制了解一下
其实都比较坑,如果能先系统讲了Synchronized锁机制,接着讲显式Lock锁机制,那就很容易理解了。也不需要跨那么多章节。 synchronized保证了线程的原子性。(被保护的代码块是一次被执行的,没有任何线程会同时访问) synchronized还保证了可见性。(当执…
解读 Java 并发队列 BlockingQueue
最近得空,想写篇文章好好说说 java 线程池问题,我相信很多人都一知半解的,包括我自己在仔仔细细看源码之前,也有许多的不解,甚至有些地方我一直都没有理解到位。 说到线程池实现,那么就不得不涉及到各种 BlockingQueue 的实现,那么我想就 BlockingQueue …
Java锁之ReentrantReadWriteLock
上面就是读写锁的获取和释放过程源码,先分析简单的非阻塞获取锁方法,根据源码我们可以知道,写锁和读锁的是否获取也是判断状态是否不为0,写锁的状态获取方法是exclusiveCount(c),读锁的状态获取方法是sharedCount(c)。那么我们接下来分析下这两个方法是如何对统…
面试必备:Java线程池解析
掌握线程池是后端程序员的基本要求,相信大家求职面试过程中,几乎都会被问到有关于线程池的问题。我在网上搜集了几道经典的线程池面试题,并以此为切入点,谈谈我对线程池的理解。如果有哪里理解不正确,非常希望大家指出,接下来大家一起分析学习吧。 面试问题2:按线程池内部机制,当提交新任务…
CAS、原子操作类的应用与浅析及Java8对其的优化
前几天刷朋友圈的时候,看到一段话:如果现在我是XX,那么我现在不管怎么努力,也还是XX,因为我现在的XX是由以前决定的,现在努力,是为了让以后的自己不再XX。话糙理不糙,如果妄想现在努力一下,马上就不再XX,那是不可能的,需要积累,需要沉淀,才能慢慢的不再XX。 好了,鸡汤喝完…
Synchronized锁在Spring事务管理下,为啥还线程不安全?
简单来说:多线程跑一个使用synchronized关键字修饰的方法,方法内操作的是数据库,按正常逻辑应该最终的值是1000,但经过多次测试,结果是低于1000。这是为什么呢? 既然测试出来的结果是低于1000,那说明这段代码不是线程安全的。不是线程安全的,那问题出现在哪呢?众所…
Java 各种锁的小结
一. synchronized 在 JDK 1.6 之前,synchronized 是重量级锁,效率低下。 从 JDK 1.6 开始,synchronized 做了很多优化,如偏向锁、轻量级锁、自旋锁、适应性自旋锁、锁消除、锁粗化等技术来减少锁操作的开销。 synchroniz…
还在用Synchronized?Atomic你了解不?
之前在学习的时候也看过AtomicInteger类很多次了,一直没有去做相关的笔记。现在遇到问题了,于是就过来写写笔记,并希望在学习的过程中解决掉问题。 我们可以发现问题所在:count++并不是原子操作。因为count++需要经过读取-修改-写入三个步骤。举个例子: 所以到这…
jdk1.8 线程池部分源码分析
有兴趣交流springboot进行快速开发的同学可以加一下下面的企鹅群。 我们知道计算机的每次运行都是需要大量的资源消耗,5个线程的操作可能没有影响,5w个呢? 五万次创建和销毁才有仅仅五万次的执行吗?执行任务可能花费了大量的时间来处理这些创建和销毁。 为什么这里我要拿一个线程…
Java并发—— CountDownLatch与CyclicBarrier
CountDownLatch闭锁相当于一扇门,在闭锁到达结束状态之前,这扇门一直是关闭的,并且没有任何线程能通过,当到达结束状态时,这扇门会打开并允许所有的线程通过。当闭锁到达结束状态后,将不会再改变状态,门永远保持打开状态 CountDownLatch通过内部类Sync实现方…