说一下 synchronized 底层实现原理?
Explain the underlying implementation of synchronized.
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: medium
分类: Concurrency
标签: synchronized, monitor
参考答案摘要
答案 synchronized 是由 monitorenter/monitorexit 指令实现的,monitor 对象是同步的基本实现单元。 在 Java 6 之前,monitor 的实现完全是依靠操作系统内部的互斥锁,因为需要进行用户态到内核态的切换,所以同步操作是一个无差别的重量级操作,性能也很低。但在 Java 6 的时候,Java 虚拟机对其进行了大幅优化,提供了三种不同的 monito...
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。