Java程序运行机制

博客探讨了编译型和解释型语言的区别,以Java为例,解释其同时具备编译和解释特性。Java通过预编译将源代码转化为字节码,然后在JVM上解释执行。随着技术进步,编译型和解释型的性能差异减小。文章还引用刘慈欣的科幻理念,强调不断学习的重要性。
摘要由CSDN通过智能技术生成

编程类型

  • 编译型
  • 解释型

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

  • 区别:时机不同

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

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

说明

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

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

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

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

    image-20210819171929530

java运行前,经过预编译!

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

现在

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

Java运行

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

闲谈

刘慈欣

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值