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

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

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

57450

编译型语言和解释型语言的区别

所谓的二进制指令,也就是机器码,是 CPU 能够识别的硬件层面的“代码”,简陋的硬件(比如古老的单片机)只能使用几十个指令,强大的硬件(PC 智能手机)能使用成百上千个指令。...,使用的转换工具称为编译器。...有的编程语言可以一边执行一边转换,需要哪些源代码就转换哪些源代码,不会生成可执行程序,比如 Python、JavaScript、PHP、Shell、MATLAB 等,这种编程语言称为解释型语言,使用的转换工具称为解释器...简单理解,编译器就是一个“翻译工具”,类似于将中文翻译成英文、将英文翻译成俄文。...但是,翻译源代码是一个复杂的过程,大致包括词法分析、语法分析、语义分析、性能优化、生成可执行文件等五个步骤,期间涉及到复杂的算法硬件架构。

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

    编译型语言与解释型语言有何区别

    众所周知,计算只能识别二进制,任何程序或软件,最终都要经过编译解释转换成二进制才能被计算机识别。...源代码,源代码就是由程序员使用各种编程语言编写的还未经编译或者解释的程序文本,编译解释能把源代码翻译成等效的二进制代码,也就是CPU能够识别的机器语言。...编译解释 编译解释都是对源代码的解释处理方式,而由于他们的操作方法不同,所以会有不同的运行的效果: 编译是把源代码的每一条语句都编译成机器语言,并最终生成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序...编译型语言:使用编译器来编译执行的编程语言,这类语言往往会花费较长的编译时间,但编译完成后,会有很好的运行性能;因此,这类语言编写的程序每次修改都要再次经历一遍完整编译过程后,修改效果才能生效,迭代时间会比解释型语言要长...代表语言:C、C++ 解释型语言:使用解释器来解释执行的编程语言,这类语言不需要编译,程序执行到了,解释器才会去解释对应的语句,这类语言更多的时间花费在了运行期间;但是这类语言编写的程序的修改迭代不要经历漫长的编译过程

    2.6K10

    Java解释编译

    class中字节码内容如下: 解释即时编译器 我们通过javac将java文件编译成class文件,当jvm启动加载class,需要逐条执行字节码指令来完成程序功能。...机器码就是用二进制代码表示的计算机能直接识别执行的一种机器指令的集合。而解释即时编译器(Just In Time Compiler,JIT)就是JVM中将字节码转化为机器码的工具。...当程序需要迅速启动执行时,解释器可以首先发挥作用,省去编译的时间,立即执行。...即时编译器(JIT) 即时编译器按照我的理解就是:以方法为单位,将热点代码的字节码一次性转为机器码,并在本地缓存起来的工具。避免了部分代码被解释器逐行解释执行的效率问题。...下图为方法调用计数器的执行过程: 目前主流的HotSpot虚拟机中默认是采用解释器与其中一个编译器(C2编译器)直接配合的方式将字节码转换成机器码 运行参数 在执行java程序的时候,以下参数是编译方面的运行及调试参数

    57510

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

    解释性语言和编译型语言的区别不同 解释性语言编译型语言概念计算机不能直接的理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言的编写的程序。...特征解释性语言的程序不要编译,省了道工序,解释性语言在运行程序的时候才翻译,比如解释性Java语言,专门有一个解释器可以直接执行Java程序,每一个语句都是执行的时候才能翻译。...这样解释性语言每执行一次要翻译一次,效率表较低。编译型就是编译的时候直接编译成机器可以执行的(.exe .dll .ocx),编译执行是分开的,但是不能跨平台。...区别对于解释性语言而言,程序运行时的控制权在解释器(jre,.net)而不再用于程序。对于编译器而言,运行时的控制权在用户程序。...解释型语言,例如Java语言,Java程序首先通过编译编译成class文件,如果在Windows平台上运行,则通过Windows平台上的Java虚拟机(VM)进行解释

    1.5K10

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

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

    58630

    java解释器虚拟机-【Java解释编译器】解释编译器的深入理解

    作为一个看过JVM虚拟机的小白,不懂解释编译器之间的区别的,那就是糗大了~   1 参考文献 深入理解JVM虚拟机 2 简单地区别解释编译器   JVM:Java字节码(Java )在上面可以直接运行...Java编译器:将Java源文件(.java文件)编译成字节码文件(.class文件,是特殊的二进制文件java解释器虚拟机,二进制字节码文件),这种字节码就是JVM的“机器语言”。...javac.exe可以简单看成是Java编译器。   Java解释器:是JVM的一部分。Java解释器用来解释执行Java编译编译后的程序。java.exe可以简单看成是Java解释器。   ...3 深入了解下Java中的编译器   JVM中,把Java编译过程分为两个过程,分别是前端编译(.java文件转换成.class文件)后端编译(JIT编译器对应.class文件转换成机器码文件)   ...下图是Java中解释编译器的交互(JVM中JIT不是必需的,可以么有),关于具体的优化技术,自己也不是看得很清楚。有机会再写吧。 本文共 582 个字数,平均阅读时长 ≈ 2分钟

    50240

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

    一、 解释型语言 编译型语言 1、计算机程序本质 计算机 的 程序 是在 CPU 上执行的 , CPU 上执行的只有匹配该 CPU 的机器码指令 , 不同类型的 CPU 执行的 机器码指令 格式不同...所有的语言 都要 转为 机器语言 才能在 计算机中执行 , 如 : 汇编语言 / C / C++ / Python / Kotlin / Java / JavaScript 等语言 ; 2、编译...解释器 将 程序代码 转为 机器码 的 工具 , 称为 " 翻译器 " , 翻译器 翻译 代码 的方式有两种 : 编译 解释 ; 编译器 : 在 程序执行之前 就将 代码 编译成 机器码 ; 一次性将所有代码...编译成 机器码 ; 编译器 可以理解为 , 做饭时 先把所有的饭都做好 , 然后一次性端上桌 ; 解释器 : 在 程序执行过程中 , 解释一行代码 , 将其翻译成 机器码 , 然后执行 , 然后再解释下一行代码...; 4、解释器 分析 解释型语言 不需要 预先 将 程序源代码 编译成 机器码 , 而是在运行时 逐行解释并执行源代码 , 解释型语言 只要有相应的 解释器 , 就可以在任何平台上运行源代码 , 因此解释型语言

    12210

    JVM、Java编译Java解释

    JVM、Java编译Java解释器 java解释器就是把在java虚拟机上运行的目标代码(字节码)解释成为具体平台的机器码的程序。...一.Java源文件的编译、下载 、解释执行   Java应用程序的开发周期包括编译、下载 、解释执行几个部分。Java编译程序将Java源程序翻译为JVM可执行的字节码。...Java编译器却不将对变量方法的引用编译为数值引用,也不确定程序执行过程中的内存布局,而是将这些符号引用信息保留在字节码中,由解释器在运行过程中创立内存布局,然后再通过查表来确定一个方法所在的地址。...这样就有效的保证了Java的可移植性安全性。   运行JVM字节码的工作是由解释器来完成的。解释执行过程分三部进行:代码的装入、代码的校验代码的执行。...对于那些对运行速度要求较高的应用程序,解释器可将Java字节码即时编译为机器码,从而很好地保证了Java代码的可移植性高性能。

    6.4K31

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

    文章目录 前言 一、Java 与 Java 字节码 二、什么是编译器(Compiler) 三、什么是解释器(Interpreter) 四、编译器与解释器有何区别? 五、Java 语言属于哪种语言?...总结 前言 我们都知道开发语言整体分为两类,一类是编译型编程语言,一类是解释型编程语言。那么你知道二者有何区别吗?编译器和解释器又各自有何区分?...解释的过程就是一次将字节码中单独的一步翻译为目标机器语言代码,翻译后立即执行这一步,具体如下图所示: 四、编译器与解释器有何区别?...语言既不属于编译型编程语言也不属于解释型编程语言,因为它由 Java 编译编译为字节码文件,然后仍需要有 JVM 将字节码解释翻译为目标机器语言,先编译解释。...总结 在本文中我们解释了什么是编译器,什么是解释器,并对二者进行了比较,从原理层面指出 Java 语言既不属于编译型编程语言也不属于解释编译语言。

    79030

    编译器VS解释

    1、编译器和解释器 1.1、编译编译器(compiler)对于我们并不陌生,它主要为程序设计语言提供服务,它将各种各样的程序设计语言(比如:C、C++、RUST、JAVA等)进行处理,翻译成我们底层的计算机能够理解并执行相应动作...image-20230707144018800 1.2、解释解释器(interpreter)是另一种语言处理器,它与编译器的处理方式不同,它是通过对高级编程语言进行逐行解析来使机器理解并执行相应动作...image-20230707144252398 1.3 编译器和解释器差别 编译器将整个源代码转换为目标代码,然后在执行之前进行链接,生成可执行文件(先翻译,再执行)。...这种方式的好处是程序执行速度快,但是编译过程需要一次性完成,如果出现错误则需要重新编译整个程序。 解释器则是逐行解释执行源代码,每执行一行代码都需要进行解析(边翻译,边执行)。...这种方式的好处是可以在程序执行中逐步发现错误,程序员可以更快地进行测试调试。但是,解释器运行速度相对慢一些。 总的来说,编译器适合编译大型程序,而解释器适合于小型程序或需要频繁更新的场景。

    17410

    编译器和解释器的简介|编译原理

    1.1 Introduction to Compilers and interpreters https://v.qq.com/x/page/u0821wmf4av.html 开头简单的讲了编译器和解释器...解释器: 解释器是另一种常见的语言处理器,并不通过翻译的方式生成目标程序,从用户的角度看,解释器直接利用用户提供的输入执行源程序中指定的操作。 ? ? ? ?...这门课程讨论在编程语言编译器实现中使用的主要思想,包括词法分析,解析,语法导向翻译,抽象语法树,类型类型检查,中间语言,数据流分析,程序优化,代码生成,运行时系统。...为了帮助掌握材料,将有讲座问题回答,测验两个考试:期中考试期末考试。...都很感兴趣,但是看书时还是有很多疑惑,也在慢慢学习中,偶尔看到这个斯坦福大学关于编译原理的视频感觉还不错,网易云课堂的没有翻译,就自己做了翻译,放在了B站公众号上,希望给想学习但是英文和我一样不太好的朋友参考一下

    1.4K40

    以问答的方式解释编译器与解释

    解释器与编译解释器与编译器有什么区别解释编译器在处理源代码执行程序的方式上存在明显的区别解释器逐行读取源代码并立即执行,不需要先将整个源代码转换成目标代码。...编译器生成的程序运行速度相对较快,因为目标代码已经被优化并转换为机器码。 除了处理方式执行程序的速度不同之外,解释编译器在其他方面也存在一些区别。...总的来说,解释编译器的选择取决于具体的编程需求和语言特性。 1.对于一些需要快速迭代动态修改的程序来说,解释器可能更加适合;而对于一些需要高效运行跨平台的程序来说,编译器可能更加适合。...对于一些需要快速迭代动态修改的程序来说,解释器可能更加适合;而对于一些需要高效运行跨平台的程序来说,编译器可能更加适合。 解释编译器各有什么优缺点?...如果项目需要迅速启动执行,解释器可以发挥其优势。解释器可以边解释边执行,无需在每次执行时都编译,因此省去了编译的时间。这使得解释器在需要快速迭代动态修改的程序中更为适合。

    15110

    AI编译推理引擎的区别

    架构之间的区别 想要真正回答这个问题之间,我想先来看看什么是AI编译器,什么是AI推理引擎,他们之间的架构有什么不同,因为呢架构决定不同技术栈里面的技术功能点模块,通过架构可以了解之前最明显的区别。...对推理引擎有兴趣的可以深入了解下推理引擎的整体内容: https://zhuanlan.zhihu.com/p/610998777 应用场景的区别 从应用场景来看,AI编译器的使用场景包括训练推理,而推理引擎的聚焦点是推理场景...AI编译器聚焦训练场景 AI编译器的使用场景包括训练推理。...技术实现的区别 到了这里,就回到ZOMI刚开始提出的疑问,到底推理引擎,有没有必要使用AI编译器实现?或者引入AI编译技术呢?...分为RelayTVM两层,Relay关注图层,TVM关注算子层,拿到前端子图进行优化,Relay关注算子间融合、TVM关注新算子kernel生成,区别在于TVM 开放架构,Relay目标是可以接入各种前端

    1.1K20

    谈一谈|JDK、JREJVM的解释以及联系区别

    光有JVM还不能成class的 执行,因为在解释class的时候JVM需要调用解释所需要的类库lib。...Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是Java的能够“一次编译,到处运行”的原因。...四、JDK、JRE、JVM三者的联系与区别 1.三者联系: JVM不能单独搞定class的执行,解释class的时候JVM需要调用解释所需要的类库lib。...2.三者区别: a.JDKJRE区别:在bin文件夹下会发现,JDK有javac.exe而JRE里面没有,javac指令是用来将java文件编译成class文件的,这是开发者需要的,而用户(只需要运行的人...b.JREJVM区别:JVM并不代表就可以执行class了,JVM执行.class还需要JRE下的lib类库的支持,尤其是rt.jar。

    90830
    领券