java的编译和运行过程实际上还是比较复杂的,如果深入研究可能需要花费很多时间,暂时就先做个简单了解,以后如果有需要再做研究。
一切从简的话,java的编译和运行大体分为两步:
- 编译:从源代码文件(.java)编译成字节码文件 (.class)
- 运行:字节码由java虚拟机(JVM)解释执行

基本原理了解了之后,我们就可以开工了。按照传统的做法,先来个Hello world
- 在工作区
F:\java-workspace新建文件夹start - 新建文件hello.java,然后使用vscode编写代码如下:
public class HelloJava {
public static void main(String[] args){
System.out.println("Hello Java");
}
}
- 使用
javac命令编译

这是什么情况?跟预想的不一样?
按照提示修改下:将文件名改为HelloJava.java,执行命令javac hellojava.java再试
这时没有错误提示,同时在当前目录中生成了一个文件HelloJava.class。
修改文件 HelloJava.java,增加一个公共类HelloJava2
public class HelloJava {
public static void main(String[] args){
System.out.println("Hello Java");
}
}
public class HelloJava2 {
}
再次执行 javac hellojava.java

再次修改HelloJava.java,修改HelloJava2为private
public class HelloJava {
public static void main(String[] args){
System.out.println("Hello Java");
}
}
private class HelloJava2 {
}
再次执行 javac hellojava.java

再次修改代码
public class HelloJava {
public static void main(String[] args){
System.out.println("Hello Java");
}
private class HelloJava2 {
}
}
再次执行

程序执行成功!
C#程序猿看到这个着实不解~!@
之前都是听说,今天终于验证了一把。
- 使用
java命令运行程序,分别尝试不同大小写名称

结论:
java公共类名要与所在的文件名一致,且一个文件中只能定义一个类(内部类除外)
java命令区分大小写
参考文章:
https://www.cnblogs.com/luobiao320/p/7975442.html
https://www.cnblogs.com/qiumingcheng/p/5398610.html
本文简述Java的编译和运行过程,包括从源代码到字节码的转换及JVM的解释执行。通过实践操作,如创建HelloWorld程序、修改类名和类属性,探讨Java编译规则,如类名需与文件名一致,文件中只能有一个公共类等。
6585

被折叠的 条评论
为什么被折叠?



