当前位置:首页 > 虚拟机 > 正文

虚拟机怎么运行java


一、java虚拟机根本就运行不了java程序?jar文件双击无法执行...需要使用命令。
安装JRE后,在CMD窗口运行以下命令:
java-jard:\
在文件名中插入测试,注意路径和文件名中不要包含中文字符。


二、java虚拟机的运行过程

上面详细解释了虚拟机的各个部分。
虚拟机的启动是通过调用给定类的main方法,向main传递一个字符串参数,从而加载指定的类,并绑定和初始化该类使用的其他类型。例如,对于程序:
publicclassHelloApp{
publicstaticvoidmain(String[]args){
n("HelloWorld!");
for(inti=0;i<;i++){
n(args);
}
}
}
编译后,以行模式输入命令:javaHelloApprunvirtualmachine
Java虚拟机将通过调用HelloApp主方法来启动,并且包含三个字符串“run”、“virtual”和“machine”的数组将被传递给main。我们现在描述虚拟机在运行HelloApp时可以采取的步骤。
我开始尝试运行HelloApp类的main方法,发现该类没有加载,这意味着虚拟机当前不包含该类的二进制代理,因此虚拟机使用ClassLoader来尝试找到一种这样的二进制表示。如果此过程失败,则会引发异常。在类加载之后、调用main方法之前,HelloApp类必须绑定其他类型,然后进行初始化。连接包括三个阶段:检查、准备和分析。验证检查加载的主类的符号和语义步骤是可选的。类的初始化是执行类中声明的静态初始化函数和静态字段的初始化构造函数。在初始化一个类之前,必须先初始化其父类。整个流程如下:


三、只要有java的class文件就能使用java虚拟机运行吗?类文件并不一定可以使用Java虚拟机来执行,因为虚拟机执行并加载类时,必须找到main函数入口,然后才能继续执行后续的程序和函数。
在Java中,main()方法是Java应用程序的输入方法,即程序运行时,第一个执行的方法是main()方法。这个方法与其他方法有很大区别,例如方法名必须是main、方法必须是publicstaticvoid类型、方法必须接收字符串数组参数等。