Семантика по умолчанию в большинстве языков, и особенно в Java, конечно, заключается в том, что код выполняется последовательно.
Значение: если вы не выполните дополнительные вещи, такие как отправка задачи в ExecutorService (или создание объекта Thread и вызов его метода start()
), тогда конечно an внешний метод выполнит все вызовы в последовательности, и каждый внутренний вызов должен завершиться до того, как будет выполнен следующий.
Другими словами: если вы не используете конкретные конструкции в своем исходном коде, вещи выполняются одним потоком в точном порядке, который вы поместили в свой код. И да, все может стать более сложным, поскольку инструкции могут быть переупорядочены на разных уровнях, но эти аспекты модели памяти Java не имеют отношения к основному вопросу, задаваемому здесь).