`
xly1981
  • 浏览: 141918 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JAVA虚拟机锁机制的升级流程

    博客分类:
  • java
阅读更多
http://ifeve.com/java-synchronized/读后感:

每一个线程在准备获取共享资源时:
第一步,检查MarkWord里面是不是放的自己的ThreadId ,如果是,表示当前线程是处于 “偏向锁”
第二步,如果MarkWord不是自己的ThreadId,锁升级,这时候,用CAS来执行切换,新的线程根据MarkWord里面现有的ThreadId,通知之前线程暂停,之前线程将Markword的内容置为空。
第三步,两个线程都把对象的HashCode复制到自己新建的用于存储锁的记录空间,接着开始通过CAS操作,把共享对象的MarKword的内容修改为自己新建的记录空间的地址的方式竞争MarkWord,
第四步,第三步中成功执行CAS的获得资源,失败的则进入自旋
第五步,自旋的线程在自旋过程中,成功获得资源(即之前获的资源的线程执行完成并释放了共享资源),则整个状态依然处于 轻量级锁的状态,如果自旋失败
第六步,进入重量级锁的状态,这个时候,自旋的线程进行阻塞,等待之前线程执行完成并唤醒自己
分享到:
评论

相关推荐

    Java虚拟机运行机制

    Java虚拟机运行机制Java虚拟机运行机制Java虚拟机运行机制Java虚拟机运行机制

    java虚拟机规范高清中文版本(java SE 8版本)

    第1章 :简单地介绍了Java虚拟机的历史并吹捧了←_← 一下Java的平台无关性(一次编译,到处运行); 第2章:概览Java虚拟机整体架构; 第3章:介绍如何将Java语言编写的程序转换为虚拟机指令集; 第4章:定义...

    自己动手写Java虚拟机 (Java核心技术系列)@

    本书摒弃了传统的以解读枯燥的Java虚拟机规范文档和分析繁琐的Java虚拟机源代码的方式来讲解Java虚拟机,取而代之的是,以实践的方式,引导读者如何从零开始构建和实现一个Java虚拟机,整个过程不仅能让读者做到对...

    深入理解 java 虚拟机

    java 虚拟机

    java虚拟机规范(java SE7)

    java虚拟机规范,高清PDF版本,含有目录结构:第一章:引言; 第二章:java虚拟结构(运行时区域内存:寄存器,java虚拟机栈,java堆,方法去,运行时常量池,本地方法栈); 第三章:为java虚拟机编译; 第四章:...

    java虚拟机规范(java se 7)

    《Java虚拟机规范 7》是一份完整的描述Java虚拟机是如何设计的规范文档。这份文档对于任何一个希望实现Java虚拟机的编译器作者,或者希望实现一个与规范相兼容的Java虚拟机的程序员来说都是必不可少的。

    深入java虚拟机.pdf

    深入java虚拟机.pdf

    Java虚拟机解释执行机制研究.pdf

    Java虚拟机解释执行机制研究.pdf

    Java 虚拟机规范.pdf

    Java 虚拟机规范.pdf Java 虚拟机规范.pdf Java 虚拟机规范.pdf Java 虚拟机规范.pdf Java 虚拟机规范.pdf Java 虚拟机规范.pdf Java 虚拟机规范.pdf Java 虚拟机规范.pdf

    深入Java虚拟机(原书第2版).pdf【附光盘内容】

    第5-20章深入描述了java技术的内部细节,包括垃圾收集、java安全模型、java的连接模型和动态扩展机制、class文件、运算及流程控制等等,其中等6章和附录a-c完全可以作为class文件和指令含集的参考手册。本书还附带...

    java虚拟机

    java虚拟机第二版

    Java虚拟机规范.Java SE 8版

    《Java核心技术系列:Java虚拟机规范(Java SE 8版)》由Oracle官方发布,Java虚拟机技术创建人撰写,国内资深Java技术专家翻译。书中基于全新Java SE 8,完整且准确地阐述Java虚拟机规范,是深度了解Java虚拟机和...

    java虚拟机规范PDF版本

    java虚拟机规范PDF版本 需要深入了解JAVA虚拟机内部机制的下啊

    Java虚拟机规范.Java SE 8版.zip

    《Java核心技术系列:Java虚拟机规范(Java SE 8版)》由Oracle官方发布,Java虚拟机技术创建人撰写,国内资深Java技术专家翻译。书中基于全新Java SE 8,完整且准确地阐述Java虚拟机规范,是深度了解Java虚拟机和...

    深入理解 Java 虚拟机 - v1.0

    介绍java虚拟机的组成,工作机制。本书介绍的较为详细,概念偏多,适合入门了解,文档排版优秀

    自己动手写Java虚拟机 kindle 版本

    本书摒弃了传统的以解读枯燥的Java虚拟机规范文档和分析繁琐的Java虚拟机源代码的方式来讲解Java虚拟机,取而代之的是,以实践的方式,引导读者如何从零开始构建和实现一个Java虚拟机,整个过程不仅能让读者做到对...

    深入java虚拟机第二版

    java虚拟机不用多少了吧。 深入java虚拟机第二版.pdf

    java虚拟机常用命令

    java虚拟机常用命令工具java虚拟机常用命令java虚拟机常用命令

    Java虚拟机规范中文版.pdf

    Java虚拟机是Sun是Java程序设计语言的基石。它是Java技术的组成部分。

Global site tag (gtag.js) - Google Analytics