Bu neden tercih edilmesi gerekir:
public class Foo {
public static void doSomething() {
synchronized(Foo.class) {
//code
}
}
}
veya bu:
public class Foo {
public synchronized static void doSomething() {
//code
}
}
bu aşkın
public class Foo {
final private static Object foo = new Object();
public static void doSomething() {
synchronized(Foo.foo) {
//code
}
}
}
? Bana bunların hepsi için
esasen aynı gibi görünür, bu yüzden bir diğerinden daha iyi olacağını neden statik alanlara erişimi eşitlemek için en iyi yol, ya da ne emin değilim, ama sık sık tercih edilmektedir birinci duydum .