【Java为什么是一门半编译半解释型的语言】

本文探讨了Java作为一种半编译半解释语言的特点,如何通过JVM结合解释器和JIT编译器提高执行效率,以及解释器在早期启动和未充分优化时的作用。
摘要由CSDN通过智能技术生成

1、如何看待Java是一门半编译半解释型的语言?

现在JVM在运行过程中,通常是解释和编译两者结合起来实现的。
在java设计之初,为了实现java跨平台的特性,因此避免使用编译将高级语言直接转换为机器语言,因此产生了解释器逐行解释字节码的想法。
但是单单由解释器承担翻译的工作,将字节码文件解释成高级语言效率太低。
然而JIT编译器在编译代码后,可以对编译后的代码进行缓存的操作,存储在方法区中,这样执行效率就变高了。

2、JIT 编译器执行效率高为什么还需要解释器

编译器要想发挥作用,把代码编译成本地代码,需要一定的执行时间。
当Java虛拟器启动时,解释器可以首先发挥作用,而不必等待即时编译器全 部编译完成后再执行,这样可以省去许多不必要的编译时间。随着时间的推移,编译器发挥作用,把越来越多的代码编译成本地代码,获得更高的执行效率。同时,解释执行在编译器进行激进优化不成立的时候,作为编译器的“逃生门”

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值