编写一个Java程序其实很简单,但是Java程序的运行过程却是非常复杂的。所以java运行原理这部分知识大家一定要掌握,那么今天我们就给大家讲解一下java运行原理!

java运行的原理表示:首先源文件通过编译器编译成字节码文件class,然后在通过JVM中的解释器将字节码文件生成对应的可执行文件。所以java即时编译语言也是解释性语言;

jar包 运行Java java运行jar包原理_JVM

首先通过编译器编译,将源程序编译形成class文件,由于不同平台JVM提供相同接口,故即便是不同平台下将java编译成class文件,但通过相同接口的JVM进行解释,均可将该环境下的字节码解释形成该平台下的可执行的java文件,同时,由于不同操作系统的JVM提供的均相同接口,不同平台的编译器则只需要面对该JVM接口进行编译,这些都决定了java语言具有良好的跨平台性、移植性。

java环境变量的配置:

【Path】:在jdk的安装目录下,可以看到javac和java两条命令,配置这个环境变量,可以找到javac和java来对源文件编译和解释;

【ClassPath】

而classpath变量,通过后来的学习得知,在jdk1.5以上版本便可以不用配置。首先要知道java源程序通过编译生成的class文件,默认会存储到JRE文件下,也就是java运行环境路径下,在1.5之前的jdk还没智能到可以自动找到编译好的类,进行下一步解释操作,故需要手动配置classpath,指明class文件路径,在执行java命令形成可执行文件。

【JavaHome】

另一个javahome再单独运行java程序时是不需要进行配置的,因为编译、解释均已通过javac

和java命令完成。但在tomcat、jboss部署时需要配置该环境变量。

其实最简单的理解就是,Java源程序经过编译器编译后变成字节码,字节码由虚拟机解释执行,虚拟机将每一条要执行的字节码送给解释器,解释器将其翻译成特定机器上的机器码,然后在特定的机器上运行。