Java是编译型语言还是解释型语言?

Java是到底是编译型语言还是解释型语言?

        首先,我们来明确一下什么是编译型语言和解释型语言。

               1.编译型语言:如 C、C++,该类语言通过编译器直接生成计算机可以识别的机器语言,需要编译通过后才可以执行。

               2.解释型语言:如Python、JavaScript 、Shell、html等, 程序不需要编译,程序在运行时才翻译成机器语言,每执行一次都要翻译一次,因此相对于编译型      语言来说效率较低。

      对于Java来说,其语言的特殊性可以将其视为编译型语言,也可以看做解释型语言。一个Java程序的运行过程是这样的:首先,Java在运行前需要先将其编译为.class文件(java helloworld.java),此步必不可少,所以可以称Java是编译型语言。该文件由字节码组成,虚拟机JVM再将该文件逐行读取解释执行(javac helloworld),这又可将其视为解释型语言(PS:不同操作系统平台的JVM对.class文件在相应的jre环境下解释成相应的可以识别的程序,这也就是常说的Java语言平台无关性)。

           从开发人员角度来看,Java属于编译型 语言,因为在java开发集成环境中需通过编译后即可执行出自己预期结果;从其底层实现机制来看,Java属于解释型语言,程序的执行还是要靠JVM对.class文件的逐行解释。我们只需知道为什么Java不能像其他语言一样明确地划分为编译型或解释型,而不必纠结于它到底属于哪一种。

 

   

      java学习新人,仅供参考,错误不足之处望批评指教。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值