Java程序运行机制

Java 程序运行机制

在计算机的高级语言编程里分为编译型和解释型两种,而Java既具有编译型的特点也具有解释型的特点。

  • 编译型:通过专门的编译器,将所有源代码一次性转换成特定平台(Windows、Linux 等)执行的机器码(以可执行文件的形式存在)。类似于直接把一整本英文书翻译成中文版的,然后进行售卖。

​ 优点:编译一次后,脱离了编译器也可以运行,并且运行效率高。

​ 缺点:可移植性差,不够灵活。

  • 解释型:由专门的解释器,根据需要将部分源代码临时转换成特定平台的机器码。类似于奥巴马看三体小说,每更新一次看一次,还需要专门的翻译人员进行翻译。

    优点:跨平台性好,通过不同的解释器,将相同的源代码解释成不同平台下的机器码。

    缺点:一边执行一边转换,效率很低。

注:编译型语言一般是不能跨平台的,也就是不能在不同的操作系统之间随意切换。

​ 解释型语言几乎都能跨平台,“一次编写,到处运行”

运行过程:

Java源文件通过Java的编译器直接生成了一个class文件,然后class文件会被执行。再执行之前会经过一次预编译,生成的代码(字节码文件)介于机器码和java源代码之间,字节码文件运行的时候会到jvm虚拟机(解释字节码文件的Java解释器就是JVM),通过字节码校验器来检查代码是否出错,最后通过解释器传送到操作系统,逐步执行,就这样整个程序就开始运行了。

简而言之,Java的源文件通过一条javac命令编译成class文件,之后通过解释器传送到操作系统,然后操作系统按照指令开始进行操作。

注:随着技术的发展,编译型和解释型的界限越来越模糊,解释型的效率也越来越高

参考:http://c.biancheng.net/view/4136.html

posted @ 2021-09-30 19:15  趁好天时  阅读(195)  评论(0)    收藏  举报