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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

我们知道,同步的关键在于锁资源,对于同步的方法或者代码块来说,必须获得对象锁才能够进入同步方法或者代码块进行操作:


1、对于代码块,对象锁即如synchronized(abc){}中的abc;

2、如果采用方法method级别的同步,则对象锁即为method所在的对象,对象采用单例模式可以使用非静态方法;


3、如果是静态方法--------这个当初最难理解---------对象锁即指method所在的Class对象(唯一),学了Java类后,你们都理解这个对象.class的唯一性了吧;
    对于同步静态方法,对象锁就是该静态放发所在的类的Class实例,由于在JVM中,所有被加载的类都有唯一的类对象,不管我们创建了该类的多少实例,但是它的类实例仍然是一个!




0 个回复

您需要登录后才可以回帖 登录 | 加入黑马