什么是字节码?(a bytecode?)

字节码是软件计算机的目标代码,只能由软件程序解释,通常称为虚拟机。在许多现代软件开发平台中,字节码优先于低级机器码,因为它在软件程序和计算机硬件之间放置了一个解释器。机器代码依赖于平台,需要在每个硬件平台上编译才能在特定平台上正确执行。...

字节码是软件计算机的目标代码,只能由软件程序解释,通常称为虚拟机。在许多现代软件开发平台中,字节码优先于低级机器码,因为它在软件程序和计算机硬件之间放置了一个解释器。机器代码依赖于平台,需要在每个硬件平台上编译才能在特定平台上正确执行。

随着软件开发模式的逐渐成熟,在计算机硬件和运行在计算机上的软件之间使用外部解释层也是如此。在早期软件创建之初,开发人员依赖于计算机硬件、驱动程序和底层操作系统。这种依赖性迫使开发人员密切了解特定计算机的许多方面,这使得平台独立性非常困难,软件增长与特定的硬件和软件供应商紧密耦合。

字节码的创建在软件开发社区创造了一个平台独立的环境。有了这个比喻,软件开发人员可以一次编写,到处使用。开发人员不必了解特定计算机的本机驱动程序,也不必关心软件运行的底层操作系统。

虚拟机是Java语言中使用的术语™ 表示将解释字节码的软件程序的编程语言。此虚拟机将根据需要转换字节码,以便与计算机内的底层硬件和操作系统进行交互。虚拟机生成的机器代码对Java开发人员是隐藏的™ 软件程序,可在多个平台上完全运行,无需重写每个平台的软件应用程序。

字节码的内部结构更像是一个高级主题,大多数开发人员通常不需要理解它。字节码不是人类可读的语言,它由类、方法、对象范围及其嵌套在类中的数字编码表示组成。每个字节码操作码的长度为一个字节。

现代计算机根据命令运行所需的机器语言本质上是供应商的专有语言。每个硬件和操作系统都有处理进程、内存分配和任务利用率的独特方式。通过使用字节码软件开发应用程序,虚拟机解释器负责创建在专有平台上运行所需的机器代码。

  • 发表于 2021-12-09 14:37
  • 阅读 ( 105 )
  • 分类:互联网

你可能感兴趣的文章

源代码(source code)和字节码(bytecode)的区别

...辑器编写程序。这些程序被称为源代码。 什么是字节码(bytecode)? 当编程语言从源代码转换为机器代码时,一些编程语言将源代码转换为称为字节码的中间代码。Java是使用字节码的主要编程语言之一。将源代码转换为字节码的...

  • 发布于 2020-10-19 15:49
  • 阅读 ( 636 )

为什么java虚拟机可以帮助代码更好地运行

... 什么是本机应用程序(a native application)? ...

  • 发布于 2021-03-13 07:13
  • 阅读 ( 246 )

为什么有些编程语言比其他语言快?

... 什么是程序设计语言(a programming language)? ...

  • 发布于 2021-03-13 15:07
  • 阅读 ( 347 )

ascii和unicode文本之间有什么区别?

ASCII和Unicode都是指文本的数字表示的标准,特别是组成文本的字符。然而,这两个标准有着显著的不同,许多属性反映了它们各自的创作顺序。 ...

  • 发布于 2021-03-28 12:00
  • 阅读 ( 432 )

jre公司(jre)和软件开发包(sdk)的区别

...成的程序无法在其他操作系统中执行。程序被编译成java字节码,这是任何操作系统都无法理解的。 为了执行java字节码,您需要有一个将字节码转换为操作系统相应本机命令的程序。这是Java运行时环境或JRE的功能。JRE只是一个...

  • 发布于 2021-06-22 13:03
  • 阅读 ( 188 )

jdk公司(jdk)和jre公司(jre)的区别

...环境,由JVM、类库和其他文件组成。 覆盖的关键领域 1.什么是JVM–定义,功能2.什么是JRE–定义,功能3.什么是JDK–定义,功能4.JDK和JRE的区别–主要区别比较 关键术语 Java、JDK、JRE、JVM 什么是虚拟机(jvm)? Java程序是用Java编程...

  • 发布于 2021-07-01 00:02
  • 阅读 ( 189 )

虚拟机(jvm)和清除(clr)的区别

...理、垃圾收集、线程管理和安全性。 覆盖的关键领域 1.什么是JVM–定义,功能2.什么是CLR–定义,功能3.JVM和CLR的区别是什么–关键区别的比较 关键术语 CLR、公共语言运行库、JVM、Java虚拟机 什么是虚拟机(jvm)? Java程序是用Java...

  • 发布于 2021-07-01 03:02
  • 阅读 ( 273 )

机器代码(machine code)和字节码(bytecode)的区别

...执行机器代码来执行程序中定义的任务。 什么是字节码(bytecode)? 字节码是编译源代码后创建的。它是一个中间代码。字节码可由虚拟机执行。此外,虚拟机将字节码转换为机器码。 Figure 2: Java Bytecode Java程序主要使用字节码。...

  • 发布于 2021-07-01 03:23
  • 阅读 ( 664 )

JAVA(java)和python(python)的区别

...机器学习、图像处理、数据分析等。 覆盖的关键领域 1.什么是Java–定义,功能2.什么是Python–定义,功能3.Java和Python的相似之处是什么–共同特征概述4.Java和Python的区别是什么–主要区别比较 关键术语 字节码,编译器,解释器...

  • 发布于 2021-07-01 03:43
  • 阅读 ( 320 )

口译译员(interpreter)和jit编译器(jit compiler)的区别

...快地执行Java字节码,提高了Java程序的性能。 Figure 2: Java Bytecode 任何安装了JVM的计算机都可以执行字节码。换句话说,任何具有JVM的平台都可以安装字节码。这使得Java成为独立于平台的编程语言。 口译译员(interpreter)和jit编译器...

  • 发布于 2021-07-01 05:51
  • 阅读 ( 519 )
xiwudd023
xiwudd023

0 篇文章

相关推荐