You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何使用java Main.java命令无需编译即可运行Java程序?

为什么直接用java Main.java能运行未编译的Java程序?

这其实是Java 11开始新增的单源文件程序运行特性,专门用来简化小型Java程序的开发流程:

  • 执行java Main.java时,JVM会在后台自动帮你完成编译操作:临时把.java文件编译成字节码,执行完程序后再删掉临时生成的.class文件,所以你看不到编译后的文件,但程序已经正常跑起来了。
  • 这个特性只适合单文件的简单程序——也就是所有代码都在一个.java文件里,没有复杂的包结构或者多文件依赖的情况。如果是多文件的项目,还是得老老实实用javac编译后再运行。
  • 对比两种运行流程:
    • 传统流程:javac Main.java(生成Main.class)→ java Main
    • 新流程:直接执行java Main.java,一步搞定编译+运行

Java直接运行单源文件示例

内容的提问来源于stack exchange,提问作者Techie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 16:27:03