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

© ysdolls 中级黑马   /  2014-8-14 19:09  /  1230 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 ysdolls 于 2014-8-14 19:20 编辑

懒汉单例中,如果getInstance函数上加锁的话 可以运行
不过函数上synchronized的锁不是this吗? 单例中还没有对象哪里来的this
编译运行都能通过,请问这个this是谁?
  1. package com.ys.enumDemo.d11;

  2. public class SingleClass {

  3.         private static SingleClass s = null;
  4.         private SingleClass(){}
  5.         public  synchronized static SingleClass getInstance(){
  6.                 if (s==null)
  7.                         s=new SingleClass();
  8.                 return s;
  9.         }
  10.         
  11. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
格子、 + 1 神马都是浮云

查看全部评分

4 个回复

倒序浏览
是Single.class
....讲过 忘了
回复 使用道具 举报
静态方法的锁是所属类的CLASS对象
回复 使用道具 举报
静态的锁是这个类的字节码
回复 使用道具 举报
原来是这样的啊...
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马