Java程序运行机制

编程类型

  • 编译型
  • 解释型

java 既有编译型又有解释型!

  • 区别:时机不同

exam:一个中国人与一个美国人,中国人出了一本专辑,这个时候美国人如果想看,第一种:将中国人出的专辑全部翻译成英文,美国人想什么时候看就什么时候看,这整个都被翻译为他自己看得懂的母语英文!第二种:美国人请一个翻译,翻译官翻译一段,这个美国人看一段,但是如果某天翻译官不在,或者想看之前的章节,就需要重新翻译一遍!

    • 第一种:优点:可以想什么时候看就什么时候看,缺点:如果作者更新,就需要重新翻译整本,代价大!
    • 第二种:优点:如果作者更新,不需要重新翻译整本,只需要翻译更新的部分即可,实时更新,代价小!缺点:如果某天翻译官不在,或者想看之前的章节,就需要重新翻译一遍!

说明

  • 编译型(compile):对应我们的第一种,将我们的代码一次性编译为计算机可以认识的汇编语言,负责编译的我们称为编译器

  • 解释型:对应我们的第二种,我们写一句代码,解释一句代码,性能不好,假如需要看之前的东西,需要重新解释代码!负责解释的我们称作解释器

  • 编译型对操作系统的要求低,他本身就是全部编译完成好了,例如:c / c++,需要的时候可以直接编译运行!

  • 解释型可以应用于对性能要求不高的,比如网页/脚本javascript,java(特殊),python等语言!

    image-20210819171929530

java运行前,经过预编译!

    • 类装载器:字节码(.class文件)放入JVM里面
    • 字节码校验器:检验我们的代码是否正确,如果写错,这个阶段就会报错!
    • 解释器:解释给操作系统,解释一步,运行一步,然后把程序运行起来

现在

  • 编译型与解释型,主要在于性能问题
  • 随着现在技术和硬件的发展,电脑性能提高,这些问题就不在是问题,现在,编译型和解释型,界限不那么明显

Java运行

  • javac 将源程序(.java文件)经过Java编译器(预编译)编译为字节码(.class文件)
  • java 将字节码文件 放入类装载器JVM里面!

闲谈

刘慈欣

当原始人仰望星空的时候,宇宙发出了警告,原始人不明白,宇宙告诉他人类已经窥得宇宙的真理,当原始人仰望星空开始,整个人类的发展只不过实现他的愿望而已!

我们一旦有一个目标,接下来的道路,只不过不断完善它而已,确定方向,只要我们不停下我们学习的脚步,终将抵达我们的终点!

posted @ 2021-10-14 16:16  ElloeStudy  阅读(28)  评论(0编辑  收藏  举报