Каркас безопасности потока

Следующий класс не является потокобезопасным (как доказано вДоказательство следующего кода не является потокобезопасным )

Существует ли какая-либо инфраструктура, которая может помочь с анализом времени компиляции / времени выполнения и сказать нам, что следующее не является потокобезопасным?

Что касается времени компиляции, в идеале в Eclipse появляется волнистое подчеркивание и говорит нам, что класс не является потокобезопасным?

Во время выполнения любой статический анализ кода обнаружит, что класс не является потокобезопасным?

public class LazyInitRace {
   private ExpensiveObject instance = null;

    public ExpensiveObject getInstance() {
    if (instance == null)
      instance = new ExpensiveObject();
    return instance;
   }
}

Ответы на вопрос(3)

Ваш ответ на вопрос