Gymterview
junior

Запуск .java файлов без компиляции

Java 11 позволяет запускать single-file Java-программы напрямую без явного вызова javac — файл компилируется в памяти и сразу выполняется.

Пример
# До Java 11 — два шага:
javac HelloWorld.java
java HelloWorld

# Java 11+ — один шаг:
java HelloWorld.java
Пример: Java как скрипт (Unix)
#!/usr/bin/java --source 17
public class Script {
    public static void main(String[] args) {
        System.out.println("Hello from Java script!");
    }
}
chmod +x script.java
./script.java

Частые ошибки

  • Использовать для многофайловых проектов — не работает; только один файл
  • Передать имя без .javajava HelloWorld ищет .class файл; для исходника нужно java HelloWorld.java

Как используется в 2026

  • Удобно для quick scripts и прототипирования
  • JEP 458 (Java 22+) расширил: поддержка нескольких классов в одном файле, implicit main()
  • JBang — популярный инструмент для Java-скриптов с поддержкой зависимостей

На собеседовании: достаточно упомянуть, что это работает только для single-file программ, компиляция происходит в памяти. Вопрос редко задают отдельно, чаще как часть обзора Java 11.