1.byte[] lock = new byte[0]; // 特殊的instance变量,零长度的byte数组对象创建起来将比任何对象都经济――查看编译后的字节码:生成零长度的byte[]对象只需3条操作码,而Object lock = new Object()则需要7行操作码。
2.资源获取即初始化(RAII, Resource Acquisition Is Initialization)
区域锁 (Scoped Lock)
Monitor Object 设计模式
http://www.ibm.com/developerworks/cn/java/j-lo-synchronized/