`
jamour
  • 浏览: 24768 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

[java] 解释&编译

阅读更多

计算机并不能直接地接受和执行用高级语言编写的源程序,源程序在输入计算机时,通过"翻译程序"翻译成机器语言形式的目标程序,计算机才能识别和执行。这种"翻译"通常有两种方式,即编译方式和解释方式。编译方式是指利用事先编好的一个称为编译程序的机器语言程序,作为系统软件存放在计算机内,当用户将高级语言编写的源程序输入计算机后,编译程序便把源程序整个地翻译成用机器语言表示的与之等价的目标程序,然后计算机再执行该目标程序,以完成源程序要处理的运算并取得结果。解释方式是指源程序进入计算机后,解释程序边扫描边解释,逐句输入逐句翻译,计算机一句句执行,并不产生目标程序。如PASCAL、FORTRAN、COBOL等高级语言执行编译方式;BASIC语言则以执行解释方式为主;而PASCAL、C语言是能书写编译程序的高级程序设计语言。


编译程序、解释程序、汇编程序是3种语言处理程序。其区别主要为:汇编程序(为低级服务)是将汇编语言书写的源程序翻译成由机器指令和其他信息组成的目标程序。解释程序(为高级服务)直接执行源程序或源程序的内部形式,一般是读一句源程序,翻译一句,执行一句,不产生目标代码,如BASIC解释程序。编译程序(为高级服务)是将高级语言书写的源程序翻译成与之等价的低级语言的目标程序。编译程序与解释程序最大的区别之一在于前者生成目标代码,而后者不生成;此外,前者产生的目标代码的执行速度比解释程序的执行速度要快;后者人机交互好,适于初学者使用。用COBOL、FORTRAN等语言编写的程序考虑到执行速度一般都是编译执行。

解释:程序运行时,取一条指令,将其换化为机器指令, 再执行这条机器指令。
编译:程序运行时之前,将程序的把有代码编译为机器代码,再运行这个程序。
计算机并不能直接地接受和执行用高级语言编写的源程序,源程序在输入计算机时,通过"翻译程序"翻译成机器语言形式的目标程序,计算机才能识别和执行。这种"翻译"通常有两种方式,即编译方式和解释方式。

编译方式是指利用事先编好的一个称为编译程序的机器语言程序,作为系统软件存放在计算机内,当用户将高级语言编写的源程序输入计算机后,编译程序便把源程序整个地翻译成用机器语言表示的与之等价的目标程序,然后计算机再执行该目标程序,以完成源程序要处理的运算并取得结果。

解释方式是指源程序进入计算机后,解释程序边扫描边解释,逐句输入逐句翻译,计算机一句句执行,并不产生目标程序。如PASCAL、FORTRAN、COBOL等高级语言执行编译方式;BASIC语言则以执行解释方式为主;而PASCAL、C语言是能书写编译程序的高级程序设计语言。

简单的说,编译就是全文翻译,全部翻译完才执行。解释就相当于同声翻译,边翻译边执行。
解释语言, 比如以前的Basic, 源程序是文本的, 运行时有一个解释程序, 它把源程序读入, 一条一条地现翻译现执行. 这当然慢了, 因为它要现场解释嘛. 现在网页中的VBScript, JavaScript等也是如此.
编译语言, 比如C或C++, 你编一段程序, 由Turbo C, VC, 或其它什么编译器编译, 变成了一个可执行的程序文件 (在DOS或Windows下, 扩展名为 .EXE的), 以后运行这个编译好的文件就成了. 因为已经翻译好了, 所以运行时就没有现场解释这一步, 当然快得多了. DOS或Windows下的 EXE 文件, 都是编译或汇编出来的.
另外注意, 是否是编译或解释, 与语言种类其实无关. 过去一般说Basic是解释的, 其实它也有编译的; 而C, Pascal一般都说是编译的, 但我确实见到过以解释方式执行的C和Pascal.
分享到:
评论

相关推荐

    JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具

    JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA反编译工具JAVA...

    java class反编译工具

    Java Class反编译工具是程序员在处理已编译的字节码文件时不可或缺的辅助工具。这类工具的主要功能是将`.class`文件转换回可读性强的`.java`源代码,帮助开发者理解或修改已有的Java程序,尤其在没有源代码的情况下...

    java jar反编译工具 java Class反编译工具

    Java开发过程中,有时我们需要查看或理解已编译的Class文件中的源代码,因为Java的编译过程会将源代码转化为字节码(.class文件)。在这种情况下,反编译工具就派上了用场。本篇文章将详细介绍Java的jar反编译工具...

    JAVA代码反编译工具

    JAVA代码反编译工具,把class反编译成.java文件

    java反编译工具绿色版

    Java虚拟机(JVM)再将字节码解释执行。而反编译就是逆向这个过程,通过特定的工具将字节码还原成接近原始的Java源代码。这有助于开发者分析代码逻辑,排查问题,甚至在没有源码的情况下进行二次开发。 本绿色版的...

    java反编译程序

    Java反编译是将已编译的字节码(.class文件)转换回源代码(.java文件)的过程。在开发或维护项目时,如果原始的源代码丢失或不可用,反编译工具就能派上用场。这些工具可以帮助开发者理解代码的功能,修复错误,...

    java反编译工具

    Java反编译工具是开发者在特定情况下非常有用的工具,它能够将已经编译好的.class文件转换回源代码的.java文件。这种技术对于软件维护、学习他人代码、逆向工程或者理解已有的二进制库的工作原理都至关重要。本文将...

    JAVA反编译软件(可将class文件反编译为java文件)

    Java反编译是Java开发中一个重要的辅助工具,它能够帮助开发者查看已编译的`.class`文件中的源代码,即使原始的`.java`源文件已经丢失或未被提供。这个过程对于理解类库的工作原理、逆向工程、调试、学习或者分析...

    java.class 反编译工具

    Java 类文件(.class)是Java程序编译后的二进制格式,包含了程序的字节码,用于JVM(Java虚拟机)执行。反编译工具则是将这些字节码转换回可读的源代码(.java文件),帮助开发者理解已有的类库或研究别人的代码。...

    java反编译exe

    Java反编译exe主要指的是将Java的字节码(.class文件)转换回源代码(.java文件)的过程。在Java编程中,源代码被编译成字节码,然后由JVM(Java虚拟机)执行。然而,出于调试、学习或者逆向工程的目的,有时我们...

    JavaDecompiler反编译

    JavaDecompiler反编译是Java开发中的一种技术,主要用于将已编译的Java字节码(.class文件)转换回可读的源代码格式。这一过程对于开发者来说有着多种用途,比如逆向工程、学习库的内部实现或者调试已丢失源代码的类...

    java编译软件大全

    Java编译软件大全是针对Java源代码进行反编译的一系列工具集合,这些工具在软件开发、代码分析、逆向工程等领域中有着广泛的应用。在Java编程中,源代码通常是不可见的,因为它们被编译成字节码(.class文件),而...

    java .class反编译成.java工具

    本文将详细介绍“java .class反编译成.java工具”,以及如何使用jd-gui.exe这个实用的反编译软件。 首先,我们要明白什么是.class文件和.java文件。在Java编程中,程序员编写的是.java源代码文件,这些文件经过Java...

    编译原理课程解释器构造Java源码

    在这个“编译原理课程解释器构造Java源码”中,我们可以推测这是一个基于Java编程语言实现的解释器项目。Java是一种广泛应用的面向对象的编程语言,它的跨平台特性使得它成为构建各种软件工具的理想选择,包括解释器...

    java .class 类反编译软件

    Java编程语言以其跨平台、面向对象的特性深受开发者喜爱,但在某些情况下,我们可能需要将已编译的`.class`文件还原为可读的`.java`源代码,这就是所谓的反编译。在这种需求下,出现了专门用于反编译Java字节码的...

    java绿色反编译工具

    Java绿色反编译工具是一种专为Java开发者设计的实用程序,它无需安装,只需解压缩后即可直接使用,因此非常便捷。在编程领域,反编译是将已编译的字节码(.class文件)转换回源代码的过程,这对于理解和学习其他人的...

    Java java8 反编译工具

    总的来说,这款Java 8反编译工具Procyon,结合提供的脚本和说明文件,使得开发者可以更轻松地对Java 8的字节码进行反编译,从而理解已编译的代码,进行学习、调试或分析。它不仅支持基本的反编译功能,还具备良好的...

    JavaCompiler --JDK6 API的简介(java动态编译)

    JavaCompiler --JDK6 API 的简介(java动态编译) JavaCompiler 是 Java 中的一个编译器接口,提供了编译 Java 源代码的功能。在 Java SE6 中,JavaCompiler 接口是 javax.tools 包的一部分,提供了标准的方式来...

    jd-gui最好的JAVA反编译工具

    Java开发过程中,有时我们需要查看已编译的.class文件的源代码,这在原始源代码丢失或需要理解他人代码逻辑时尤为关键。此时,就需要用到反编译工具,而jd-gui就是这样一款强大的JAVA反编译工具。它以其简单易用、...

Global site tag (gtag.js) - Google Analytics