解释型语言和编译型语言

解释型语言

  • 编写的程序不需要编译。在执行的时候,专门有一个解释器将高级语言翻译成机器语言,每个语句都是执行的时候才翻译。这样解释型语言每执行一次就要翻译一次,效率比较低;
  • 解释型语言代表:JavaScript、VBScript、Perl、Python、Ruby、MATLAB;
  • 运行效率一般相对比较低,依赖解释器,跨平台性好。

编译型语言

  • 程序执行之前,有一个专门的编译过程,通过编译系统把高级语言翻译成机器语言,把源高级程序编译成为机器语言文件,后面的执行无须重新编译,直接使用之前的编译结果就可以;因此其执行的效率比较高;
  • 编译型语言代表:C、C++、Pascal/Object Pascal(Delphi);
  • 程序执行效率比较高,但比较依赖编译器,因此跨平台性差一些。

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

java语言应是编译性-解释性语言,因为其同时具备编译性和解释性两种特性(其实,确切的说java就是解释型语言,其所谓的编译过程只是将.java 文件编程成平台无关的字节码.class 文件,并不是向 C 一样编译成可执行的机器语言,在此请读者注意 Java 中所谓的“编译”和传统的“编译”的区别):

作为编译型语言,java 程序要被统一编译成字节码文件——文件后缀是.class。此种文件在 java 中又称为类文件。java 类文件不能在计算机上直接执行,它需要被 java 虚拟机翻译成本地的机器码后才能执行,而 java 虚拟机的翻译过程则是解释性的。java 字节码文件首先被加载到计算机内存中,然后读出一条指令,翻译一条指令,执行一条指令,该过程被称为 java 语言的解释执行,是由 java 虚拟机完成的。而在现实中,java 开发工具 JDK 提供了两个很重要的命令来完成上面的编译和解释(翻译)过程。两个命令分别是 java.exe 和 javac.exe,前者加载 java 类文件,并逐步对字节码文件进行编译,而另一个命令则对应了 java 语言的解释(javac.exe)过程。在次序上,java 语言是要先进行编译的过程,接着解释执行。
在这里插入图片描述

Reference:
1.编译性语言和解释性语言的区别
2.解释型语言和编译型语言的区别

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值