Java并发编程中的核心要点

Synchronized 的原理

Synchronized 修饰方法块

JVM 对方法块同步是通过 monitorentermonitorexit 两个比较重要的指令来实现的。任何对象都有一个 monitor(这里 monitor 指的就是锁) 与之关联,当且仅当一个 monitor 被持有后,它将处于锁定状态。

阅读更多

锁优化的若干手段

代码层面

避免死锁

死锁出现的四要素:

  • 互斥条件:进程对于所分配到的资源具有排它性,即一个资源只能被一个进程占用,直到被该进程释放;
  • 请求与保持条件:一个进程因请求被占用资源而发生阻塞时,对已获得的资源保持不放
  • 不可中条件:任何一个资源在没被该进程释放之前,任何其他进程都无法对他剥夺占用
  • 循环等待条件:当发生死锁时,所等待的进程必定会形成一个环路(类似于死循环),造成永久阻塞。
阅读更多

:D 一言句子获取中...