黑马程序员技术交流社区

标题: synchronized修饰static方法的问题 [打印本页]

作者: 屈_zi    时间: 2014-5-13 14:39
标题: synchronized修饰static方法的问题
static修饰的方法中不能有this关键字,也就是不能包含实例对象;
当synchronized修饰方法时,实际上包含了一把this的锁,那么下面的代码为什么有成立呢?static方法中不是不能使用this吗?
  1. synchronized static void Method(){
  2.        ……
  3. }
复制代码


作者: 谢振宣    时间: 2014-5-13 15:15
synchronized修饰静态方法时,使用的锁是该类的字节码文件(类名.class),而不再是this。
作者: 屈_zi    时间: 2014-5-13 15:27
谢振宣 发表于 2014-5-13 15:15
synchronized修饰静态方法时,使用的锁是该类的字节码文件(类名.class),而不再是this。 ...

是这个类,还是这个类的字节码文件?
作者: 谢振宣    时间: 2014-5-13 16:24
屈_zi 发表于 2014-5-13 15:27
是这个类,还是这个类的字节码文件?

是字节码文件,后缀是.class的文件。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2