-
java-sync for Word:实现同步功能
资源介绍
word源码java
大纲
java的对象布局
sync底层工作的原理synchronized
sync优化
synchronized
synchronized
涉及点
涉及JVM源码
涉及C++
涉及
VB汇编
synchronized()需要传入一个对象
在非静态方法里需要传入的对象
this
在静态方法里需要传入的对象
类名.class
一个对象的实例,指向其实例的变量应当被static修饰。
问题
java当中的锁
公平锁、非公平锁、读写锁、共享锁、互斥锁、自旋锁、偏向锁、轻量级锁、重量级锁
锁什么?锁代码块还是锁对象?
上锁就是改变对象的对象头
对象头是所有对象开头的公共部分。
对象头由两个词组成。
第一个词是MarkWord
第二个词是kiass
pointer,类的原数据的地址,以此可以辨识一个类的实例用的是哪一个模板。
实例对象总是在对象头的下面。
每个对象头都包括了堆对象的布局、类型、GC状态、同步状态和标识哈希码的基本基本信息。
由此可以知道,对象的hashCode就存在对象的对象头里
加锁成功后会改变对象头的二进制码,记录同步状态。
进行垃圾回收调用重复算法时,重
- 上一篇: java web 项目案例
- 下一篇: 用java写的文件同步工具