Этот фрагмент кода не будет компилироваться:Недоступный переменная, объявленная в синхронизированный блок - Java
synchronized(obj) {
Object a = new Object()
}
System.out.println(a.toString());
Но я не знаю, почему .. Мое понимание было то, что синхронизированный блок всегда казнили, так что я бы ожидайте, что код, следующий за синхронизированным блоком, будет знать о любых новых объявленных переменных. Где я ошибаюсь?
Спасибо! Слепое слепое наблюдение за синхронизацией заставило меня полностью игнорировать этот факт. – Antiz