Java执行的到底是什么文件

来源:百度知道 编辑:UC知道 时间:2024/05/17 04:40:26
编译了.java文件生成了.class文件,但使用命令行时执行java xx时到底执行了哪个文件?

执行的是你编译后的字节码文件 也就是.CLASS
你可以做一个测试,你写好XXX.JAVA后不编译,直接在CMD下面java XXX会提示什么,对了。就是一个RuntimeException:NoClassDefFoundError
然后再编译一下XXX.java ,再java XXX看看是什么结果

执行的是.class文件,也就是字节码。
Java字节码是通过虚拟机(就是java.exe)执行的,可以将其理解为一个桥梁或者是容器,对于不同的平台,如Windows和Linux执行同一个.class文件,怎么实现呢?
可以为每个平台分别实现一个虚拟机,它作为字节码和实际机器之间的桥梁,程序员不需要知道我的程序最终在那个平台下执行,比如,我要创建一个按钮。我只需要
使用JButton btn=new JButtion("I am a button");就可以创建了,而无需理会到底Windows/Linux对应是怎么绘制这个按钮的。

这样的好处是同一套代码,放到任何平台都可以用,只要这个平台有相应的虚拟机即可。Java在理论上是要创建一个与平台无关的语言,而.net类似,只不过它是要创建一个与语言无关的平台(C#,VB.net,F#最终被编译成同一个中间语言IL,类似于Java的字节码)

执行的是xxx.class文件。
整个操作过程如下:
1、先用javac编译xxx.java源程序,得到了xxx.class文件;
2、用java执行xxx.class运行程序。

*.class