JAVA运行原理
简单的java程序来举例(运行以下java程序需要提前安装好JDK(Java开发工具集)
public class HelloWorld{
public static void main(String [] args){
System.out.println("This is Hello");
}
}
step1: 新建一个文本文档,在文档中写入上面一个简单的java程序,然后将拓展名改为.java
step2:在该文档的文件路径下打开cmd,输入javac Helloworld.java,回车后我们会发现在目录下新生成了一个Helloworld.class文档
step3:在刚刚生成的终端窗口中输入java Helloworld,然后回车
至此,程序运行成功!恭喜你已经在终端中编译并运行了第一个java程序!!!
那么,上述我们编写的java程序到底是如何在计算机上运行并显示在屏幕上的呢?它中间发生了怎样的过程呢?下面我们来详细解释Java程序的运行原理
Java程序运行原理
Java虚拟机(JVM)
Java虚拟机是一个可以执行Java字节码的虚拟机进程,用Java编写的程序(存放在扩展名为java的文件中)叫做java源文件,经过编译器(即JDK根目录bin文件夹中的javac.exe文件)编译成字节码文件(即扩展名为class的文件),此时的java.class文件并不是二进制的01编码,它需要java虚拟机编译形成可执行文件,字节码加载入内存,校验字节码,校验无误后将字节码文件翻译成二进制文件,最终运行并显示结果。不同平台的JVM各有不同,但均提供相同的接口,实现了程序与操作系统的分离,从而实现了Java 的平台无关性。 也就是说,相对于解释型语言,java这种编译型语言具有较高的可移植性,实现了“”一处编写,处处运行”,编译后,不依赖于平台环境,在各种操作系统均可运行。