Использует ли код Java автоматически несколько процессорных ядер, если таковые имеются

Если на данном процессоре доступно несколько ядер, будут ли они использоваться автоматически, когда JVM запускает код Java, написанный пользователем? Или код должен быть специально написан, чтобы использовать преимущества многоядерности?

Я имею в виду, нужно ли создавать код по-другому, чтобы JVM могла использовать преимущества нескольких ядер при его запуске, скажем, с помощью программиста, создающего несколько потоков в пользовательском коде? И скажем, если мы не используем многопоточность в коде Java, JVM не сможет использовать преимущества нескольких ядер независимо от того, сколько ядер доступно. Возможно, это так, но я не уверен.