A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 朱永志 初级黑马   /  2014-1-22 17:02  /  1142 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

同步函数被静态所修饰后,所有的锁是什么?是this还是其他?分析原因。

评分

参与人数 1技术分 +1 收起 理由
ily521125 + 1

查看全部评分

3 个回复

倒序浏览
通过验证,发现不再是this。因为静态方法中也不可以定义this。
静态进内存时,内存中没有本类对象,但是一定有该类对应的字节码对应文件对象
类名.class 该对象的类型是Class
静态的同步方法使用的锁是该方法所在类的字节码文件对象。  类名.class

评分

参与人数 1技术分 +1 收起 理由
ily521125 + 1

查看全部评分

回复 使用道具 举报
不是this 因为就是静态的 比如我现在要拉煤 一个进 一个出 那我所需要的锁就是
煤 因为煤是唯一的 都要操作
如果你写同步代码块 里面传的就是用的那个类 也就是楼上说的类名.class

评分

参与人数 1技术分 +1 收起 理由
ily521125 + 1

查看全部评分

回复 使用道具 举报
不是this,是你本类的字节码文件~~~ 也就是你的类名.class
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马