java和javac命令到底是什么意思?
注意:使用后不会在命令行出现结果的反馈和变化 因为这个命令操作的结果是将java代码编译成字节码文件 到我们.java路径下可以看到新增了一个class字节码文件
在最开始学习的时候,我发现使用 java Test.java 一样可以运行java文件 这是为什么呢?
我们java 运行的到底是.java 还是class呢?为什么class可以省略? 加了class反而报错?
带着一些列的疑问开始了Java正式学习(谷歌启动)
在阅读了一系列文章后发现 两个命令大概是这样运行的
当我们使用java命令运行一个没有被编译的Java文件 发现报错
java name 命令是直接搜索当前文件夹中带有class后缀的name文件 如果找到就运行 如果没有 就报错
那为什么不能用带后缀的方式运行java的字节码文件呢?
在java中由这样一个规定 带包名的java文件 使用 java xxx.name(xxx指的是包名也就是class文件所在的路径)
最后一个问题 既然我们java命令使用的对象是.class 为什么java name.Java同样可以运行呢?
在java11后单文件源码 不通过编译可以直接运行
Java 11 : 无需编译即可运行单文件程序-InfoQ