Везде, где я читал, писали, что якобы
synchronized void doSomething() { . .}
эквивалентно
void doSomething() {
synchronized (this) { . .}
}
На картинках ниже доказано, что это не так. При случаи с статичным методом это не проходит.
Так в чём секрет synchronized void doSomething() { . .} ?

что, уже не только ученые врут. Создатели ЯП тоже врут? Ох уж этот мировой заговор! Держать программистов за дурачков чтобы легче было ими управлять ))))
скажи, а всё что ты здесь спрашиваешь -- ты реально это запомнил и используешь?
Нас никто не обманывает, мы уже давно явой не пользуемся и забыли что это впринципе такое.
Примеры в самом вопросе - действительно эквивалент. Тут даже логически все видно.
А вот в том, что вы приложили в скриншотах - вы принципиально разные вещи рассматриваете.
В тексте вопроса у вас оба метода обычные, на скриншотах - обычный и статический.
Как бы некорректно сравниваете.
оно и эквивалентно, просто у тебя не обычные методы, а статические
они синхронизируются не на this, которого у них и нету, а на Class< ...> (в данном случае Main.class)
Нельзя обращаться из статического к нестатическому. Статическое принадлежит классу. Нестатическое объекту. К какому объекту this у тебя обратится класс, когда объектов вовсе нет или их много?
во-первых, надо понимать разницу между синхронизации на объекте и на классе и разницу между static методом и instance методом, вы видно этого не понимаете раз такое развели в комментариях и не надо Вам спорить, то как Вы пишете код и какие вопросы задаете, говорит о том, что вы даже не Java Junior Dev. Все это говорит о том, что вы собеседование на Junior пока не пройдете. Так вот слушайте умных людей, которых тут достаточно. В данной теме ответили Full Stack, Alexey, user49913,Zhenya7727 и все эти люди знают тему получше Вас, не надо спорить с ними.
во-вторых, вы вопросы вообще свои закрываете после того, как Вам уже по несколько человек ответили неделю назад? или вы коллекционер открытых вопросов?