Файлы классов фактически находятся в виде jar-файлов внутри используемого дистрибутива Java. Большинство файлов находятся в rt.jar (время выполнения).
На большинстве машин разработчиков фактически установлены две формы Java. JDK (который вы часто будете использовать при разработке и включающий компилятор) и JRE, который используется загружаемыми приложениями на основе Java и часто вашим веб-браузером Обычно это два независимых дистрибутива, которые не знают друг о друге. Таким образом, ответ на ваш вопрос, к сожалению, «зависит от того, что вы запускаете». Что еще хуже, JDK может включать свою собственную копию JRE ...
Это один из источников так называемого ада classpath, потому что не всегда понятно, что вы используете при запуске Java-программы.
Если вы запускаете Java из командной строки, вы иногда можете определить точную используемую версию.
Если вы используете Eclipse, вы можете выбрать версию JDK, с которой вы работаете.