详述Java程序运行原理
1.Java虚拟机是一个可以执行字节码的虚拟机进程。
2.用Java编写的程序(存放在扩展名为java的文件中)经过编译器(即JDK根目录bin文件夹中的javac.exe文件)编译成字节码文件(即扩展名为class的文件),这个字节码文件不是针对具体平台的,而是针对抽象的Java虚拟机的,在Java虚拟机上运行,在不同类型的平台上安装不同的Java虚拟机,这些不同的Java虚拟机屏蔽了各个不同平台的差异,从而使编译过的Java程序具有平台无关性,即Java虚拟机在执行字节码时,把字节码解析成具体平台上的机器指令执行。
3.具有一次编译,处处运行的特点。
注:Java语言是一种先编译后解释型语言!
过程如下:
1、创建一个java文件
2、写入HelloWorld代码
3、在DOS窗口执行javac命令,编译成class文件
4、在DOS窗口执行java命令,完成程序运行
注:在此过程中进行了 类装载器->字节码校验器->解释器 的过程,类装载器将class文件的字节码传给字节码校验器,字节码校验器检验字节码是否正确,再传给解释器,解释器将字节码转换成二进制数据,最后传操作系统平台。