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
Частые ошибки
- Использовать для многофайловых проектов — не работает; только один файл
- Передать имя без
.java—java HelloWorldищет.classфайл; для исходника нужноjava HelloWorld.java
Как используется в 2026
- Удобно для quick scripts и прототипирования
- JEP 458 (Java 22+) расширил: поддержка нескольких классов в одном файле, implicit
main() - JBang — популярный инструмент для Java-скриптов с поддержкой зависимостей
На собеседовании: достаточно упомянуть, что это работает только для single-file программ, компиляция происходит в памяти. Вопрос редко задают отдельно, чаще как часть обзора Java 11.