编译型和解释型语言

原文链接

编译型(Compile)

用编译型语言写的程序执行之前,需要一个专门的编译过程,针对特定的平台,使用专门的编译器,把高级语言翻译成机器语言,以后直接运行而不需要再编译了,所以一般编译型语言的程序执行效率高。

特点

一次性的编译成平台相关的机器语言文件,运行时脱离开发环境,运行效率高;与特定平台相关,一般无法移植到其他平台。

代表语言

C、C++、Objective。

解释型(Explain)

解释型语言在运行的时候才翻译成机器语言,每个语句都是执行时才翻译。每执行一次就要翻译一次,效率较低。可跨平台。

特点

每次运行都需要将源代码解释称机器码并执行,效率较低;只要平台提供相应的解释器,就可以运行源代码,所以可以方便源程序移植。

代表语言

JavaScript、Python。

Java是编译型还是解释型

Java是一种兼具编译和解释特性的语言,.java文件会先被编译成与平台无关的.class文件(字节码文件),这个过程是编译。但是.class文件还是无法被计算机直接识别,仍然需要JVM进行翻译成机器语言,这个过程则是解释。

所以可是说java即是编译型的,也是解释型,但是假如非要归类的话,从概念上的定义,恐怕java应该归到解释型的语言中。

所以严格意义上来说,Java是一种解释型语言。

狂神说java

Day002 编译型和解释型语言的更多相关文章

  1. 编译型/解释型语言,什么时候用shell

    编译型语言 很多传统的程序设计语言,例如Fortran.Ada.Pascal.C.C++和Java,都是编译型语言.这类语言需要预先将我们写好的源代码(source code)转换成目标代码(obje ...

  2. java基础-02:编译型和解释型

    Java程序运行机制: Java语言的编译-->解释-->运行过程 1.编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成为机器语言的文件,运行时不需要重新翻译,直接使用编译的 ...

  3. Java到底是编译还是解释型语言?编译和解释型语言有什么区别?

    7.java语言执行过程与方式: 编译型语言: 是指使用专门的编译器.针对特定平台(操作系统)将某种高级语言源程序一次性"翻译"成可被该平台硬件运行的机器码(包括指令和数据),并包 ...

  4. Java基础系列(4)- 编译型和解释型

    概念 有一个外国人要看一本中文的书,有两种方式可以看,一种是把这本书翻译成英文版,另外一种是请一个中文翻译,想看哪边,翻译就翻译哪边. 针对上述的描述,翻译成英文版本的书籍对应的就是编译型,将代码编译 ...

  5. js编译原理(你不知道的javascript)

    虽然通常将js归类为"动态"或"解释执行"语言,但其实也可把它看成是一门编译语言.只不过这个所谓的编译与传统的编译语言不同,它不是提前编译的,编译结果也不能在分 ...

  6. 编译与解释(java)

    计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序. 翻译的方式有两种,一个是编译,一个是解释.两种方式只是翻译的时间不同 计算机不 ...

  7. 编译性语言&解释性语言

    计算机是不能理解高级语言.当然也就不能直接执行高级语言了.计算机仅仅能直接理解机器语言,所以不论什么语言,都必须将其翻译成机器语言.不论什么编程语言编写的程序归根究竟都是由底层机器的机器代码(01序列 ...

  8. 初识Java

    Java是一种简单的.面向对象的.分布式的.解释的.安全的.可移植的.性能优异的多线程语言.它以极强的安全性.平台无关性.硬件结构无关性.语言简洁.面向对象的特点,在网络编程语言中占据了无可比拟的优势 ...

  9. 谈谈java的运行机制

    1.高级语言的运行机制 我们编程都是用的高级语言(写汇编和机器语言的大牛们除外),计算机不能直接理解高级语言,只能理解和运行机器语言,所以必须要把高级语言翻译成机器语言,计算机才能运行高级语言所编写的 ...

随机推荐

  1. Learn Python the Hard Way,ex37-1

    本练习为复习python的符号和关键字 关键字有: #and or False True print(1==0 and 2==0, 1==0 or 2==0) print(False) print(T ...

  2. FreeBSD csh shell 配置

    在/etc/csh.cshrc里面加入: alias ls ls –G, 并重新登录 问:如何让FreeBSD的csh像bash那样按tab列出列出无法补齐的候选文件? 答:标准的方法是按Ctrl+D ...

  3. JavaScript数组的几个常用的API

    一. 扁平化嵌套数组/展平和阵列孔--flat() 1.实现效果 var arr1 = [1, 2, [3, 4]]; arr1.flat(); // [1, 2, 3, 4] var arr2 = ...

  4. 【odoo14】第十三章、网站开发(对外服务)

    本章我们将介绍一些关于odoo web服务方面的基础知识.进阶的内容,将在第十四章介绍. odoo中的web请求是由python的werkzeug库驱动的.odoo为了操作方便,对werkzeug进行 ...

  5. 计算异质性H值(运用arcgis和Python进行区域分析)

    最近需要对ecognition分割结果进行统计分析,以此来进一步判断其分割结果中的欠分割和过分割对象,在看了一篇论文后,发现了可以用一个参数H来判断每个切割对象的异质性,由于此方法需要用到arcgis ...

  6. 使用jhipster 加速java web开发

    jhipster,中文释义: Java 热爱者! JHipster is a development platform to quickly generate, develop, & depl ...

  7. JSP实验报告

  8. 运维小姐姐说这篇Consul集群和ACL配置超给力(保姆级)

    前言 上一篇简单介绍了Consul,并使用开发模式(dev)进行流程演示,但在实际开发中需要考虑Consul的高可用和操作安全性,所以接着来聊聊集群和ACL的相关配置,涉及到的命令会在环境搭建过程中详 ...

  9. kubernetes 降本增效标准指南| 容器化计算资源利用率现象剖析

    作者:詹雪娇,腾讯云容器产品经理,目前主要负责腾讯云集群运维中心的产品工作. 张鹏,腾讯云容器产品工程师,拥有多年云原生项目开发落地经验.目前主要负责腾讯云TKE集群和运维中心开发工作. 引言 降本增 ...

  10. HTML5-本地存储浅谈

    Web Storage是HTML5里面引入的一个类似于cookie的本地存储功能,可以用于客户端的本地存储 sessionStorage && localStorage session ...