java多线程中的synchronized的byte[0]
byte[] lock1 = new byte[0];
synchronized (lock1) {
}
零长度的byte数组对象创建起来将比任何对象都经济,查看编译后的字节码:生成零长度的byte[]对象只需3条操作码,而Object lock = new Object()则需要7行操作码。
byte[] lock1 = new byte[0];
synchronized (lock1) {
}
零长度的byte数组对象创建起来将比任何对象都经济,查看编译后的字节码:生成零长度的byte[]对象只需3条操作码,而Object lock = new Object()则需要7行操作码。