jdk17.0.2
运行结果
跟教程上不一样的过程让我想知道,class文件的用途是什么?为什么会跳过class直接输出信息?
11后有一个新特性就是可以直接运行源代码,然后会在内存中生成class文件(磁盘中没有),然后由解释器运行
也就是说java Helloworld.java 其实相当于运行了以下两个命令
javac -d <memory> HelloWorld.java
java -cp <memory> helloWorld
至于你说的class文件的用途,相信你的教程里说的就是正确的
jvm运行的就是class文件,源代码必须编译成class文件才能被jvm运行
jdk11 开始支持直接运行源代码,执行 java -h 之后,可以看到:
用法:java [options] <主类> [args...]
(执行类)
或 java [options] -jar <jar 文件> [args...]
(执行 jar 文件)
或 java [options] -m <模块>[/<主类>] [args...]
java [options] --module <模块>[/<主类>] [args...]
(执行模块中的主类)
或 java [options] <源文件> [args]
(执行单个源文件程序)
```bash
```
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!