会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
葛一凡
带着大脑去学习,喜爱所以专注、所以执着。。。
博客园
首页
新随笔
管理
2020年12月20日
NO.001- 简说 Java 并发编程史
摘要: 这篇文章是Java并发编程思想系列的第一篇,主要从理解Java并发编程历史的原因和Java并发演进过程两部分,以极简地回溯并发编程的历史,帮助大家从历史这个角度去了解一门语言一个特性的演进。对历史理解的越多,思考的越多,未来的方向就会更加坚定。
阅读全文
posted @ 2020-12-20 18:13 葛一凡
阅读(391)
评论(3)
推荐(1)
2017年3月22日
AQS阻塞唤醒工具LockSupport
摘要: LockSupport在JDK源码中描述为:构建锁和其他同步类的基本线程阻塞原语,构建更高级别的同步工具集。LockSupport提供的park/unpark从线程的粒度上进行阻塞和唤醒,park/unpark模型真正解耦了线程之间的同步,线程之间不再需要一个Object或者其它变量来存储状态。
阅读全文
posted @ 2017-03-22 12:57 葛一凡
阅读(773)
评论(2)
推荐(0)
2017年3月5日
使用分布式锁时考虑哪些问题
摘要: 工作中经常会遇到争抢共享资源的场景,比如用户抢购秒杀商品,如果不对商品库存进行保护,可能会造成超卖的情况。超卖现象在售卖火车票的场景下更加明显,两个人购买到同一天同一辆列车,相同座位的情况是不允许出现的。交易系统中的退款同样如此,由于网络延迟和重复提交极端时间差的情况下,可能会造成同一个用户重复的退款请求。以上无论是超卖,还是重复退款,都是没有对需要保护的资源或业务进行完善的保护而造成的,从设计方面一定要避免这种情况的发生
阅读全文
posted @ 2017-03-05 18:00 葛一凡
阅读(4677)
评论(3)
推荐(5)
2016年12月18日
重新认识synchronized(下)
摘要: synchronized既保证原子性,又保证内存可见性,是一种线程同步的方式,是锁机制的一种java实现。synchronized的实现基于JVM底层,JVM是基于monitor实现的,而monitor的实现依赖于操作系统的互斥实现。
阅读全文
posted @ 2016-12-18 08:24 葛一凡
阅读(1129)
评论(0)
推荐(3)
2016年12月4日
volatile语义
摘要: volatile在Java内存模型(JMM)中,保证共享变量对所有线程可见,但不保证原子性。volatile语义是同步,通过共享变量的方式,完成线程间的通信。
阅读全文
posted @ 2016-12-04 22:43 葛一凡
阅读(1390)
评论(3)
推荐(1)
2016年12月3日
幂等策略分析
摘要: 幂等概念来自数学,表示N次变换和1次变换的结果是相同的。这里讨论在某些场景下,客户端在调用服务没有达到预期结果时,会进行多次调用,为避免多次重复的调用对服务资源产生副作用,服务提供者会承诺满足幂等。
阅读全文
posted @ 2016-12-03 12:46 葛一凡
阅读(5831)
评论(3)
推荐(7)
2016年11月6日
重新认识synchronized(上)
摘要: synchronized在JDK5之前一直被称为重量级锁,是一个较为鸡肋的设计,而在JDK6对synchronized内在机制进行了大量显著的优化,加入了CAS,轻量级锁和偏向锁的功能,性能上已经跟ReentrantLock相差无几,而且synchronized在使用上更加简单,不易出错(避免哲学家就餐问题造成的死锁),因此如果仅仅是为了实现互斥,而不需要使用基于Lock的附加属性(中断、条件等),推荐优先使用synchronized。
阅读全文
posted @ 2016-11-06 15:39 葛一凡
阅读(447)
评论(0)
推荐(0)
2015年7月11日
【ZooKeeper怎么玩】之一:为什么需要ZK
摘要: ZooKeeper是一个分布式协调服务,它致力去解决如何在分布式环境下保持数据一致性的问题。
阅读全文
posted @ 2015-07-11 20:08 葛一凡
阅读(1332)
评论(0)
推荐(1)
2014年7月8日
图解缓存淘汰算法三之FIFO
摘要: FIFO(First In First Out),即先进先出.最先进入的数据,最先出来.一个很简单的算法.只要使用队列数据结构即可实现.那么FIFO淘汰算法基于的思想是"最近刚访问的,将来访问的可能性比较大".
阅读全文
posted @ 2014-07-08 22:15 葛一凡
阅读(1177)
评论(0)
推荐(0)
2014年7月6日
图解缓存淘汰算法二之LFU
摘要: LFU(Least Frequently Used)即最近最不常用.从名字上来分析,这是一个基于访问频率的算法.与LRU不同,LRU是基于时间的,会将时间上最不常访问的数据淘汰;LFU为将频率上最不常访问的数据淘汰.
阅读全文
posted @ 2014-07-06 17:03 葛一凡
阅读(2444)
评论(2)
推荐(4)
下一页
公告