[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-java-11-25-zapusk-java-faylov-bez-kompilyatsii":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":16,"progress":17,"seo":18},400,"zapusk-java-faylov-bez-kompilyatsii",11,"java-11-25","Java 11–25","🆕","Запуск .java файлов без компиляции","Java 11 позволяет запускать single-file Java-программы напрямую без явного вызова `javac` — файл компилируется в памяти и сразу выполняется.\n\n```bash\n# До Java 11 — два шага:\njavac HelloWorld.java\njava HelloWorld\n\n# Java 11+ — один шаг:\njava HelloWorld.java\n```\n\n\u003Cdetails>\u003Csummary>Пример: Java как скрипт (Unix)\u003C\u002Fsummary>\n\n```bash\n#!\u002Fusr\u002Fbin\u002Fjava --source 17\npublic class Script {\n    public static void main(String[] args) {\n        System.out.println(\"Hello from Java script!\");\n    }\n}\n```\n\n```bash\nchmod +x script.java\n.\u002Fscript.java\n```\n\n\u003C\u002Fdetails>\n\n### Частые ошибки\n\n- Использовать для многофайловых проектов — не работает; только один файл\n- Передать имя без `.java` — `java HelloWorld` ищет `.class` файл; для исходника нужно `java HelloWorld.java`\n\n### Как используется в 2026\n\n- Удобно для quick scripts и прототипирования\n- JEP 458 (Java 22+) расширил: поддержка нескольких классов в одном файле, implicit `main()`\n- JBang — популярный инструмент для Java-скриптов с поддержкой зависимостей\n\n> **На собеседовании:** достаточно упомянуть, что это работает только для single-file программ, компиляция происходит в памяти. Вопрос редко задают отдельно, чаще как часть обзора Java 11.","","junior",[15],"java-modern",[],null,{"title":19,"description":20,"ogTitle":19,"ogDescription":21,"keywords":22,"schemaAnswer":20,"featuredSnippetReady":23},"Запуск .java файлов без компиляции — Gymterview","Java 11 позволяет запускать single-file Java-программы напрямую без явного вызова `javac` — файл компилируется в памяти и сразу выполняется.","Java 11 позволяет запускать single-file Java-программы напрямую без явного вызова `javac` — файл компилируется в памяти ",[15,13],true]