主要区别-源代码与字节码
计算机是一种能根据用户提供的指令执行任务的机器。计算机程序可以向计算机发出指令。它是用一套特定的编程语言编写的。编程语言有很多种。大多数编程语言都是高级编程语言。用高级语言编写的程序很容易被人或程序员理解。这些程序称为源代码。机器无法理解它们。因此,人类可读可理解的程序必须转换成机器可理解的格式。机器可理解的代码被称为机器代码。使用C语言将整个机器代码转换为C语言。有些编程语言将源代码转换为中间代码,然后将中间代码转换为机器代码。在这个过程中,中间代码被称为字节码。本文讨论源代码和字节码之间的区别。源代码和字节码的关键区别在于,源代码是使用人类可读编程语言编写的计算机指令的集合,而字节码是源代码和由虚拟机执行的机器代码之间的中间代码。
目录
1. 概述和主要区别
2. 什么是源代码
3. 什么是字节码
4. 源代码和字节码的相似性
5. 并行比较-源代码与表格式的字节码
6. 摘要
什么是源代码(source code)?
编写了一个程序来解决一个计算问题。一组程序被称为软件。为了开发软件,开发人员应该对需求有很好的理解。根据需求,可以对系统进行设计。然后,用编程语言实现了所设计的系统。程序员可以使用编程语言将设计转换成一组计算机程序。
这些程序可以被人类或程序员理解。它们的语法与英语相似。使用人类可读的编程语言编写的指令集合称为源代码。例如,C、Java等编程语言都集成了开发环境(IDE)来开发程序。也可以使用简单的文本编辑器编写程序。这些程序被称为源代码。
什么是字节码(bytecode)?
当编程语言从源代码转换为机器代码时,一些编程语言将源代码转换为称为字节码的中间代码。Java是使用字节码的主要编程语言之一。将源代码转换为字节码的过程如下。
在Java中,有一个虚拟机叫做Java虚拟机(JVM),它帮助运行Java程序。虚拟机类似于系统上安装的操作系统。运行Java程序时,编译器将Java程序或源代码转换为Java字节码。然后JVM将字节码转换为机器码。机器代码由计算机直接执行。字节码是为JVM编写的。它不是针对机器的。因此,字节码由各种平台执行,如Windows、Linux和Mac。字节码有数字代码、常量和引用,它们对解析和语义分析的结果进行编码。
源代码(source code)和字节码(bytecode)的共同点
- 两者都与计算机编程有关。
- 两者都应翻译成机器代码,供计算机执行指令。
源代码(source code)和字节码(bytecode)的区别
源代码与字节码 | |
源代码是使用人类可读的编程语言编写的计算机指令的集合。 | 字节码是源代码和由虚拟机执行的机器代码之间的中间代码。 |
可理解性 | |
源代码是可读的人类或程序员。 | 字节码可由虚拟机读取。 |
代 | |
源代码是由人类生成的。 | 字节码由编译器生成。 |
格式 | |
源代码是纯文本的形式,具有相似的英语语法和注释。 | 字节码有数字代码、常量和引用,它们对解析和语义分析的结果进行编码。 |
执行方法 | |
源代码不能被机器直接执行。 | 字节码可由虚拟机执行。 |
执行速度 | |
源代码的速度比字节码最低。 | 字节码的速度比源代码快。 |
性能 | |
源代码的性能不如字节码。 | 字节码的性能比源代码高,因为它接近机器代码。 |
总结 - 源代码(source code) vs. 字节码(bytecode)
程序员可以用程序向计算机提供指令。大多数程序都是用高级编程语言编写的。人类可以理解它们,但计算机无法理解。因此,程序应转换成机器可理解的格式。在这个过程中,不同的语言使用不同的方法。有些编程语言直接把程序转换成机器代码。其他语言将程序转换为中间代码,并将中间代码转换为机器代码。源代码和字节码是这个过程中的两个常见术语。源代码和字节码的区别在于,源代码是使用人类可读编程语言编写的计算机指令的集合,而字节码是源代码和由虚拟机执行的机器代码之间的中间代码。
下载源代码与字节码的pdf文件
你可以下载这篇文章的PDF版本,并根据引文说明离线使用。请在这里下载PDF版本:源代码和字节码的区别
引用
1Java JDK、JRE和JVM。此处提供