之前详细介绍了虚拟机的各个组件之后,我们将通过一个实际案例来讨论其运行过程。当通过调用类的main方法来启动虚拟机时,进程通常会接受一个字符串数组参数,如程序中:
publicclassHelloApp{
publicstaticvoidmain(String[]args){
n("HelloWorld!");
for(core=0;i<;i++){
System.出来println(args);
}
}
}
编译完成后,在命令行输入:javaHelloApprunvirtualmachine,虚拟机将尝试调用HelloApp的main方法启动。运行时,虚拟机首先检查HelloApp类是否已加载,如果没有,则尝试通过ClassLoader查找。如果搜索失败,则会抛出异常。类加载后,需要经历链接和初始化过程。
链接分为三个步骤:检查、准备和解析。验证检查符号和类语义是否正确。接下来是类初始化,包括实现类中声明的静态初始化函数和静态域初始化构造函数。在整个过程中,类的初始化必须在其父类的初始化之后完成。
这个过程可以概括为:首先查找并加载类,然后链接并初始化,保证类的正确性和完整性,最后执行静态部分的初始化操作以保证程序运行的正确性。
Java虚拟机(JavaVirtualMachine),简称JVM,是在真实计算机上通过软件模拟实现的虚拟机器。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,也有相应的命令系统。
上一篇:手机内存卡装上怎么启用
下一篇:java虚拟机运行什么文件