首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java 语言属于编译编程语言还是属于解释编程语言

文章目录 前言 一、Java 与 Java 字节码 二、什么是编译器(Compiler) 三、什么是解释器(Interpreter) 总结 ---- 前言 我们都知道开发语言整体分为两类,一类是编译语言...,一类是解释语言。...三、什么是解释器(Interpreter) 解释器是直接执行用编程语言编写的指令的程序。 只有在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度不如编译后的程序运行的快。...而执行 Java 程序也就是运行程序的字节码,通过 JVM 来解释 Java 字节码。 解释的过程就是一次将字节码中单独的一步翻译为目标机器语言代码,翻译后立即执行这一步。 ?...---- 总结 所以说,Java 语言既不属于编译编程语言也不属于解释编程语言,因为它由 Java 编译器编译为字节码文件,然后仍需要有 JVM 将字节码解释翻译为目标机器语言,先编译后解释

7.2K31

解释语言与编译语言

计算机不能直接理解的高级语言,只能直接理解机器语言,所以必须把高级语言防疫成机器语言,计算机才能执行高级语言的编写的程序,翻译的方式两种: 特征 1、解释语言解释语言的程序不要编译,在运行程序时进行翻译...2、编译语言: 编译语言就是编译的时候直接编译成机器可执行的(.exe.dll.ocx)编译和执行是分开的,但是不能跨平台,比如exe文件,以后要运行就不需要重新编译了,只做一次翻译,所以编译语言的程序效率高...区别 1、解释语言: (1)程序运行的控制权在解释器(jre,.net),而不在于程序 (2)一些网页脚本,服务器脚本以及辅助开发接口这样的对速度要求不高,但是对系统的兼容性有一定要求的程序通常使用解释语言...优缺点 1、解释语言: 优点:可移植性好,只要有解释环境,可以在不同的操作系统上运行,只需要把解释器移植到不同的系统上就能够直接使用。...其封装底层代码,程序严重依赖平台,占用了大量系统资源(解释器和用户程序) 2、编译语言: 优点:运行速度快,代码效率高,编译后程序不可修改(oc动态运行时方案排除),保密性好。

70830
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    解释语言和编译语言

    在计算机编程中,解释语言和编译语言是两种常见的语言类型,两者的区别在于代码的执行方式。一、概念解释语言解释语言是指程序在执行时会逐行解释源代码,然后直接运行解释后的代码。...在解释语言中,代码不需要编译成可执行文件,因此它可以直接运行在计算机上。解释语言一般都需要一种解释器,它负责解释源代码并执行程序。...解释语言的典型代表有Python、JavaScript、Ruby等。编译语言编译语言是指程序在执行前需要经过编译的过程,将源代码编译成机器语言可执行文件,然后再进行运行。...二、优缺点解释语言的优缺点优点:(1)易于学习和使用。解释语言代码简单、易于理解,可快速进行开发,适合小型项目。(2)开发效率高。...由于程序的源代码可以被直接查看,因此解释语言对于一些需要保密性较高的应用不太适合。(3)扩展性不够。解释语言很难进行一些底层的操作,如操作硬件等。编译语言的优缺点优点:(1)运行效率高。

    85591

    编译语言 VS 解释语言

    而在写前端语言的时候,抛去缓存,代码修改后可以马上运行显示,当时根本就没去想这个问题,我能简单的想起编译语言解释语言的区别也就是这个了。...文章正文 那么到底什么是编译语言,什么是解释语言呢?他们之间有什么共同点和区别呢?...缺点:每次运行的时候都要解释一遍,性能上不如编译语言。...但解释语言则不然,它是边解释、边运行,所以运行的时候很可能还有部分代码没有解释好,所以需要编译器守护(解释语言把该工具叫:解释器)。那么编译器在哪里?...区别3:执行速度对比 编译语言由于运行的已经是完全的二进制内容了,所以运行起来很干净利落,自然速度快。但解释语言,运行的不一定是完全的二进制内容,因为它是边解释(成二进制),边运行。

    1.3K20

    Java 答疑:编译器和解释器有何区别?Java 语言属于编译编程语言还是解释编程语言

    总结 前言 我们都知道开发语言整体分为两类,一类是编译编程语言,一类是解释编程语言。那么你知道二者有何区别吗?编译器和解释器又各自有何区分?...Java 语言属于编译编程语言还是解释编程语言呢?...三、什么是解释器(Interpreter) 解释器是直接执行用编程语言编写的指令的程序。只有在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度不如编译后的程序运行的快。...在上图的例子中,Hello.java 的源代码文件是通过 Java 编译器产生.class的中间字节码文件然后再送往 JVM 中执行的,进入 JVM 之后的运行流程大致如下图所示: 所以说,Java 语言既不属于编译编程语言也不属于解释编程语言...总结 在本文中我们解释了什么是编译器,什么是解释器,并对二者进行了比较,从原理层面指出 Java 语言既不属于编译编程语言也不属于解释编译语言

    78730

    解释语言-shell

    本文链接:https://ligang.blog.csdn.net/article/details/43452723 shell解释语言也被称作“脚本语言” shell分两大类:第一类,图形界面shell...一、分类 Unix/Linux上常见的Shell脚本解释器有bash、sh、csh、ksh等。 bash:是Linux标准默认的shell,内部命令一共有40个。...bash完全兼容sh,也就是说,用sh写的脚本可以不加修改的在bash中执行 二、shell特点 简单性:Shell是一个高级语言;通过它,你可以简洁地表达复杂的操作。...表达式和运算符之间要有空格,例如 2+2 是不对的,必须写成 2 + 2,这与我们熟悉的大多数编程语言不一样。 2. 完整的表达式要被``包含,注意这个字符不是常用的单引号,在 Esc 键下边。

    1.5K31

    解释语言与编译语言的区别?_编译语言解释语言的优缺点

    编译语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候,就不用再进行翻译了。 解释语言,是在运行的时候将程序翻译成机器语言,所以运行速度相对于编译语言要慢。...C/C++ 等都是编译语言,而Java,C#等都是解释语言。 虽然Java程序在运行之前也有一个编译过程,但是并不是将程序编译成机器语言,而是将它编译成字节码(可以理解为一个中间语言)。...在运行的时候,由JVM将字节码再翻译成机器语言。 注:脚本语言一般都有相应的脚本引擎来解释执行。 他们一般需要解释器才能运行。JAVASCRIPT,ASP,PHP,PERL,Nuva都是脚本语言。...4.脚本语言是一种解释性的语言,例如vbscript,javascript,installshield script,ActionScript等等,它不象c\c++等可以编译成二进制代码,以可执行文件的形式存在...脚本语言不需要编译,可以直接用,由解释器来负责解释。 5.脚本语言一般都是以文本形式存在,类似于一种命令. 举个例子说,如果你建立了一个程序,叫aaa.exe,可以打开.aa为扩展名的文件.

    58630

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

    编译语言在程序执行之前,先会通过编译器对程序执行一个编译的过程,把程序转变成机器语言。运行时就不需要翻译,而直接执行就可以了。最典型的例子就是 C 语言。...解释语言就没有这个编译的过程,而是在程序运行的时候,通过解释器对程序逐行作出解释,然后直接运行,最典型的例子是 Ruby。...通过以上的例子,我们可以来总结一下解释语言和编译语言的优缺点,因为编译语言在程序运行之前就已经对程序做出了“翻译”,所以在运行时就少掉了“翻译”的过程,所以效率比较高。...但是我们也不能一概而论,一些解释语言也可以通过解释器的优化来在对程序做出翻译时对整个程序做出优化,从而在效率上超过编译语言。...此外,随着 Java 等基于虚拟机的语言的兴起,我们又不能把语言纯粹地分成解释和编译这两种。

    1.8K20

    编译语言解释语言有何区别?

    源代码,源代码就是由程序员使用各种编程语言编写的还未经编译或者解释的程序文本,编译或解释能把源代码翻译成等效的二进制代码,也就是CPU能够识别的机器语言。...,在运行时会有很好的性能; 解释器是只有在执行到对应的语句时才会将源代码一行一行的解释成机器语言,给计算机来执行,所以使用解释器来执行的语言也被称为动态语言; 举个现实中的例子,比如你现在想读一本英文书...在这个过程中翻译就会花费较长的时间,你阅读时就会很快、很轻松; 随身翻译:就是翻译小姐姐随时守在你身边,你想阅读那一句,他就给你翻译那一句,这这种方式翻译时很快,但对你来说,阅读就会花费较长的时间; 编译语言解释语言...编译语言:使用编译器来编译执行的编程语言,这类语言往往会花费较长的编译时间,但编译完成后,会有很好的运行性能;因此,这类语言编写的程序每次修改都要再次经历一遍完整编译过程后,修改效果才能生效,迭代时间会比解释语言要长...代表语言:C、C++ 解释语言:使用解释器来解释执行的编程语言,这类语言不需要编译,程序执行到了,解释器才会去解释对应的语句,这类语言更多的时间花费在了运行期间;但是这类语言编写的程序的修改迭代不要经历漫长的编译过程

    2.6K10

    编译语言解释语言的区别

    我们编写的源代码是人类语言,我们自己能够轻松理解;但是对于计算机硬件(CPU),源代码就是天书,根本无法执行,计算机只能识别某些特定的二进制指令,在程序真正运行之前必须将源代码转换成二进制指令。...不同的编程语言有不同的规定: 有的编程语言要求必须提前将所有源代码一次性转换成二进制指令,也就是生成一个可执行程序(Windows 下的 .exe),比如C语言、C++、Golang、Pascal(Delphi...)、汇编等,这种编程语言称为编译语言,使用的转换工具称为编译器。...有的编程语言可以一边执行一边转换,需要哪些源代码就转换哪些源代码,不会生成可执行程序,比如 Python、JavaScript、PHP、Shell、MATLAB 等,这种编程语言称为解释语言,使用的转换工具称为解释

    84020

    编译解释与脚本语言

    解释语言,是在运行的时候将程序翻译成机器语言,所以运行速度相对于编C/C++ 等都是编译语言,而Java,C#等都是解释语言。...解释语言(包含脚本语言解释语言提供了极佳的调试支持。...解释语言存在一些严重的缺点。解释应用占用更多的内存和CPU资源。这是由于,为了运行解释语言编写的程序,相关的解释器必须首先运行。...脚本语言 定义:为了缩短传统的编写-编译-链接-运行(edit-compile-link-run)过程而创建的计算机编程语言。...脚本语言只用于将东西绑在一起,并且这些通常不是性能的瓶颈(   或如果是,你需要重新检查你的设计)。 解释语言和脚本语言的区别 脚本语言解释语言,也就是解释语言包括脚本语言

    2K20

    JavaScript到底是解释语言还是编译语言?

    几天前一个刚接触 JavaScript 的朋友问我 JavaScript 是编译语言还是解释语言。...编译语言 VS 解释语言 主要问题是没有团体或者组织规定这些;例如:编译语言解释语言的定义以及如何划分。而这两个都是概念。...所以根据概念,编译语言是代码在运行前编译器将人类可以理解的语言编程语言)转换成机器可以理解的语言。...解释语言也是人类可以理解的语言编程语言),也需要转换成机器可以理解的语言才能执行,但是是在运行时转换的。所以执行前需要环境中安装了解释器;但是编译语言编写的应用在编译后能直接运行。...许多人认为解释语言意味着当遇到程序中行号为xyz时直接将其传给CPU就能运行;但是事实不是这样。所有的编程语言都是为人类创建的。他们是人类能够理解的。必须将编程语言转换为机器语言才能运行。

    1.8K20

    python属于解释语言

    解释语言和编译语言 计算机是不能够识别高级语言的,所以当我们运行一个高级语言程序的时候,就需要一个“翻译机”来从事把高级语言转变成计算机能读懂的机器语言的过程。...最典型的例子就是C语言解释语言就没有这个编译的过程,而是在程序运行的时候,通过解释器对程序逐行作出解释,然后直接运行,最典型的例子是Ruby。...通过以上的例子,我们可以来总结一下解释语言和编译语言的优缺点,因为编译语言在程序运行之前就已经对程序做出了“翻译”,所以在运行时就少掉了“翻译”的过程,所以效率比较高。...但是我们也不能一概而论,一些解释语言也可以通过解释器的优化来在对程序做出翻译时对整个程序做出优化,从而在效率上接近编译语言,而不能超过编译语言。...此外,随着Java等基于虚拟机的语言的兴起,我们又不能把语言纯粹地分成解释和编译这两种。 用Java来举例,Java首先是通过编译器编译成字节码文件,然后在运行时通过解释器给解释成机器文件。

    54220

    编程知识科普--解释语言和编译语言的区别和不同

    解释语言和编译语言的区别和不同 解释语言编译语言概念计算机不能直接的理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言的编写的程序。...特征解释语言的程序不要编译,省了道工序,解释语言在运行程序的时候才翻译,比如解释性Java语言,专门有一个解释器可以直接执行Java程序,每一个语句都是执行的时候才能翻译。...这样解释语言每执行一次要翻译一次,效率表较低。编译就是编译的时候直接编译成机器可以执行的(.exe .dll .ocx),编译和执行是分开的,但是不能跨平台。...解释语言,例如Java语言,Java程序首先通过编译器编译成class文件,如果在Windows平台上运行,则通过Windows平台上的Java虚拟机(VM)进行解释。...编译语言,例如C语言,用C语言开发程序后,需要通过编译器把程序编译成机器语言(即计算机可以识别的二进制文件,因为不同的操作系统识别的二进制文件是不同的),所以C语言程序进行移植后,需要重新编译(如Windows

    1.5K10

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

    7.java语言执行过程与方式: 编译语言: 是指使用专门的编译器、针对特定平台(操作系统)将某种高级语言源程序一次性“翻译”成可被该平台硬件运行的机器码(包括指令和数据),并包装成该平台的操作系统所能识别和运行的格式...解释语言: 是指使用专门的解释器将某种高级语言源程序逐条解释成特定平台的机器码指令并立即执行,解释一句执行一句,这类似于会场中的“同声翻译”,而不进行整体性的编译和链接处理。...解释语言相当于把编译语言相对独立的编译和执行过程混合到一起,而且每一次执行时都要重复进行“编译”,因而执行的效率较低。且不能脱离解释器独自执行。比如javascript,优点:移植性强。...【新手可忽略不影响继续学习】Java语言根据自身的实际需要采用了一种灵活的机制----编译和解释的结合。...源程序编译成为仍然是平台无关的中间产物----字节码文件,然后采用一种虚拟计算机技术,称为Java虚拟机(JVM----Java Virtual Machine),JVM运行特定的平台之上,再由JVM对字节码文件进行解释执行

    57450

    现代编程语言需要泛

    作者丨 Ayende Rahien 译者丨明知山 策划丨闫园园 几周前,我写了一篇关于编程语言 Hare 及其缺少泛数据结构的文章。...如今,我不想再讨论这个话题了,我想讨论一些更“泛”的东西。在我看来,任何以高性能为目标的现代编程语言都应该支持某种形式的泛,不支持泛是一个重大错误,也是导致复杂性增加和性能损失的一大原因。...我们来看看如何使用几种编程语言 (使用它们的定义) 对数据 (在内存中) 进行排序。...没有泛意味着用户不得不将性能束之高阁。 实际上,几乎所有关心高性能的现代编程语言都有泛。我能想到的一个例外是 Java,这是因为它在添加泛时选择了向后兼容。...我将本文作为上一篇关于泛数据结构的文章的补充结论,我认为最终的结果是显而易见的。如果你想要高性能的系统,就应该选择一种能让你简洁地表达逻辑的编程语言,而泛是实现这种简洁性的必要工具。

    86320

    【JavaScript】JavaScript 简介 ④ ( 解释语言 和 编译语言 | 计算机程序本质 | 编译器 和 解释器 )

    一、 解释语言 和 编译语言 1、计算机程序本质 计算机 的 程序 是在 CPU 上执行的 , CPU 上执行的只有匹配该 CPU 的机器码指令 , 不同类型的 CPU 执行的 机器码指令 格式不同...; 每次将一行代码 翻译成 机器码 ; 解释器 可以 理解为 涮火锅 , 一边涮 , 一边吃 ; 3、编译器 分析 编译语言 在 程序执行 之前 , 需要 将 程序源代码 一次性 编译 成 机器码...程序 , 这个程序只能在 CPU 是 Intel 并且 装有 64 位 Windows 程序 的电脑上运行 ; 这类程序只需编译一次 , 在之后运行时不需要再次编译 , 这类程序执行效率高 ; 编译语言...的 编译器 是 GCC ; C++ 语言 的 编译器 是 G++ ; 4、解释器 分析 解释语言 不需要 预先 将 程序源代码 编译成 机器码 , 而是在运行时 逐行解释并执行源代码 , 解释语言...只要有相应的 解释器 , 就可以在任何平台上运行源代码 , 因此解释语言 的 移植性 很好 ; 解释器 是在 程序执行过程中 , 解释一行代码 , 将其翻译成 机器码 , 然后执行 , 然后再解释下一行代码

    12110

    编译语言解释语言、静态类型语言、动态类型语言、强类型语言、弱类型语言概念与区别

    代表语言:C、C++、Pascal、Object-C以及最近很火的苹果新语言Swift 2、解释语言 解释语言的程序不需要编译,相比编译语言省了道工序,解释语言在运行程序的时候才逐行翻译。...缺点:每次运行的时候都要解释一遍,性能上不如编译语言。...我个人认为抛开一切的偏见C#是这个星球上最好的编程语言。可惜微软的政策限制了C#的推广。 Java先生成字节码再在Java虚拟机中解释执行。 严格来说混合语言属于解释语言。...3、注意: 很多人认为解释语言都是动态语言,这个观点是错的!Java是解释语言但是不是动态语言,Java不能在运行的时候改变自己结构。反之成立吗?动态语言都是解释语言。也是错的!...C#也是动态语言,通过C#的反射机制可以动态的插入一段代码执行。所以我说C#是这个星球最好的编程语言

    3.2K110
    领券