Выполнение однофайловых программ
Запуск однофайловых Java-программ напрямую без javac.
Сравнение кода
✕ Java 8
$ javac HelloWorld.java $ java HelloWorld // Two steps every time
✓ Java 11+
$ java HelloWorld.java // Compiles and runs in one step // Also works with shebangs: #!/usr/bin/java --source 25
Заметили проблему в этом коде? Сообщите нам.
Почему современный подход лучше
Одна команда
java File.java компилирует и выполняет за один шаг.
Похоже на скрипт
Добавьте строку shebang, чтобы превратить .java-файлы в исполняемые скрипты.
Удобно для обучения
Новички могут сразу запускать код, не изучая инструменты сборки.
Старый подход
Двухэтапная компиляция
Современный подход
Прямой запуск
Начиная с JDK
11
Сложность
Начинающий
Поддержка JDK
Выполнение однофайловых программ
Доступно
Широко доступно начиная с JDK 11 (сентябрь 2018)
Как это работает
Лаунчер Java может скомпилировать и выполнить один исходный файл одной командой. В сочетании с поддержкой shebang в Unix Java-файлы могут работать как скрипты. Отдельный шаг компиляции не нужен.
Связанная документация