Это очень мрачное различие, и на самом деле, как правило, это не свойство самого языка, а скорее программы, которую вы используете для выполнения кода на этом языке.
Тем не менее, большинство языков используются в основном в той или иной форме, и да, Java по сути всегда компилируется, тогда как javascript по сути всегда интерпретируется.
Чтобы скомпилировать исходный код, нужно запустить на нем программу, которая генерирует исполняемый двоичный файл, который при запуске имеет поведение, определенное источником. Например, javac компилирует файлы java, читаемые человеком, в машиночитаемые файлы .class.
Чтобы интерпретировать исходный код, запустите на нем программу, которая сразу же создаст определенное поведение, не создавая промежуточный файл. Например, когда ваш веб-браузер загружает stackoverflow.com, он интерпретирует кучу javascript (который вы можете посмотреть, просмотрев исходный код страницы) и производит много приятных эффектов, которые эти страницы оказывают, например, upvoting или небольшой уведомитель бары через вершину.