java属于编译型还是解释型,java语言是编译解释型语言吗

  java属于编译型还是解释型,java语言是编译解释型语言吗

  先说编译语言和解释语言是什么?

  计算机看不懂高级语言,更别说直接执行高级语言了。他们只能直接理解机器语言。因此,用任何高级语言编写的程序,要想让计算机运行,都必须转换成计算机语言,也就是机器码。

  计算机看不懂高级语言,更别说直接执行高级语言了。他们只能直接理解机器语言。因此,用任何高级语言编写的程序,要想让计算机运行,都必须转换成计算机语言,也就是机器码。这种转换有两种方式:

  1.编制

  2.解释

  因此,高级语言可以分为编译语言和解释语言。

  主要区别在于,前者可以在源程序编译后在平台上运行,而后者是在运行时编译的。所以前者运行速度快,后者跨平台性好。

  编译语言

  使用专用编译器,针对特定平台,将高级语言源代码一次性编译成平台硬件可执行的机器码,封装成平台可识别的可执行程序格式。

  特性

  在执行用编译语言编写的程序之前,需要特殊的编译过程来将源代码编译成机器语言文件,例如exe文件。以后想再次运行时,可以直接使用编译结果,比如直接运行exe文件。因为只需要编译一次,后面不需要编译,所以编译后的语言执行效率高。

  摘要

  1.一次性编译成平台相关的机器语言文件,运行时与开发环境分离,运行效率高;

  2.与特定平台相关,一般不能移植到其他平台;

  3.现有的C、C、目标等。都是编译语言。

  解释性语言

  用专门的解释器把源程序逐行解释成特定平台的机器码并立即执行。是解释器在执行过程中逐行动态翻译执行的代码,而不是在执行前完成翻译。

  特性

  解释语言不需要预先编译,它直接把源代码解释成机器码并立即执行,所以只要有平台提供相应的解释器,程序就可以运行。

  摘要

  1.解释性语言每次运行都需要将源代码解释为机器码并执行,效率低下;

  2.只要平台提供相应的解释器,就可以运行源代码,所以移植源代码很方便;

  3.Python等。是解释性语言。

  编译器和解释器,两者各有利弊。

  前者在开发操作系统、大型应用、数据库系统等时采用。由于其程序执行速度快,同等条件下对系统要求低,如C/C、Pascal/Object Pascal(Delphi)等。都是编译语言。而一些对速度和不同系统平台间兼容性要求不高的程序,如web脚本、服务器脚本、辅助开发接口等,通常使用解释性语言,如Java、JavaScript、VBScript、Perl、Python、Ruby、MATLAB等。

  关于java

  Java不同于其他语言。因为java对于不同的平台有不同的JVM,所以是跨平台的。所以Java语言曾经到处编译运行。

  1.你可以说它是编译的:因为所有的java代码都是编译的,Java没有编译是没用的。

  2.你可以说它是解释性的:因为java代码编译后不能直接运行,所以它在JVM上是解释性运行的,所以它是解释性运行的,是被解释的。

  3.然而,现在JVM有一些效率方面的JIT优化。它将编译。类放入本地代码并直接运行它,所以它被再次编译。

  个人认为java是一种解释性语言,因为虽然java也需要编译成。类文件,它不是机器能识别的语言,而是字节码,最终需要jvm的解释,才能在各种平台上执行。这也是java跨平台的原因。所以java既有编译的,也有解释的,但如果非要分类的话,从概念定义上来说,恐怕java应该归入解释语言。

  编译语言包括:C,C,Delphi,Pascal,Fortran。

  讲解语言包括:Java,Basic,javascript,python。

  在原文的基础上做了一些补充。

  转载:https://blog.csdn.net/u012184539/article/details/81348780

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: