Easter79 Easter79
3年前
synchronized 的实现原理
!(http://www.liebrother.com/upload/ef1e31512ff14b5da181fc36f9190e16_20171113.jpg)加不加synchronized有什么区别?(https://my.oschina.net/liebrother/blog/4253687)synchronized作为悲观锁,
Wesley13 Wesley13
3年前
java try后没有catch,只有finnally
今天看jdk1.6源码  ThreadPoolExecutor中Worker的runTask方法  catch(RunTimeExceptionex)中tthrowex,会把ex抛到上层,上层try没有catch异常,该异常还会往上层抛,try后直接跟finnally,finnally中runLock.unlock(),会释放锁;总结:
Stella981 Stella981
3年前
Google Guava Striped 实现细粒度锁
首先不谈Striped能做什么,我们来看下如下的代码/   购买产品   @param user 用户   @param buyAmount 购买金额   @param productId 产品编号  / public static void buy(String user
Stella981 Stella981
3年前
ConcurrentHashmap 解析
ConcurrentHashmap(JDK1.7) 总体描述:  concurrentHashmap是为了高并发而实现,内部采用分离锁的设计,有效地避开了热点访问。而对于每个分段,ConcurrentHashmap采用final和内存可见修饰符volatile关键字(内存立即可见:Ja
Wesley13 Wesley13
3年前
Hibernate(五)——面向对象查询语言和锁
Hibernate做了数据库中表和我们实体类的映射,使我们不必再编写sql语言了。但是有时候查询的特殊性,还是需要我们手动来写查询语句呢,Hibernate框架为了解决这个问题给我们提供了HQL(Hibernate Query  Language)面向对象的查询语言,和QBC(QuerybyCriteria)完全面向对象的
Wesley13 Wesley13
3年前
ubuntu 15.10 gnome 取消 挂起时锁屏
打开dconf系统配置编辑器搜索suspend取消勾选ubuntulockonsuspend.!(http://static.oschina.net/uploads/space/2015/1210/230110_qcqz_237198.png)如果要在右上角的电源菜单中显示suspend按钮的话,使用firef
Wesley13 Wesley13
3年前
mysql 解决超卖问题的锁分析
  解决超卖问题,常见的方式,利用redis的原子性去递减;利用队列,队列入队计数。或者直接打到mysql层。由mysql保证不超卖,有几个玩法。利用属性不一样,挺有意思,记录下。该文章后续仍在不断的更新修改中,请移步到原文地址http://www.dmwan.cc/?p139&previewtrue(https://www.
ReentrantLock源码解析 | 京东云技术团队
并发指同一时间内进行了多个线程。并发问题是多个线程对同一资源进行操作时产生的问题。通过加锁可以解决并发问题,ReentrantLock是锁的一种。
京东云开发者 京东云开发者
8个月前
加锁失效,非锁之过,加之错也
作者:京东零售邢成引言多个进程或线程同时(或着说在同一段时间内)访问同一资源会产生并发问题。银行两操作员同时操作同一账户就是典型的例子。比如A、B操作员同时读取一余额为1000元的账户,A操作员为该账户增加100元,B操作员同时为该账户减去50元,A先提交
京东云开发者 京东云开发者
2星期前
加锁失效,非锁之过,加之错也
作者:京东零售邢成引言多个进程或线程同时(或着说在同一段时间内)访问同一资源会产生并发问题。银行两操作员同时操作同一账户就是典型的例子。比如A、B操作员同时读取一余额为1000元的账户,A操作员为该账户增加100元,B操作员同时为该账户减去50元,A先提交