synchronized 关键字加到 static 静态方法和 synchronized(class)代码块上都是是给 Class 类上锁。synchronized 关键字加到实例方法上是给对象实例上锁。尽量不要使用 synchronized(String a) 因为JVM中,字符串常量池具有缓存功能!
synchronized 修饰的方法并没有 monitorenter 指令和 monitorexit 指令,取得代之的确实是 ACC_SYNCHRonIZED 标识,该标识指明了该方法是一个同步方法,JVM 通过该 ACC_SYNCHRonIZED 访问标志来辨别一个方法是否声明为同步方法,从而执行相应的同步调用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)