javasecclass文件结构

Posted 海屿-uf9n1x

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javasecclass文件结构相关的知识,希望对你有一定的参考价值。

这篇文章介绍java的class文件结构。

深入理解Java虚拟机(类文件结构)

我们所编写的每一行代码,要在机器上运行最终都需要编译成二进制的机器码 CPU 才能识别。但是由于虚拟机的存在,屏蔽了操作系统与 CPU 指令集的差异性,类似于 Java 这种建立在虚拟机之上的编程语言通常会编译成一种中间格式的文件Class文件来进行存储。

一. 语言无关性#

Java 虚拟机的设计者在设计之初就考虑并实现了其它语言在 Java 虚拟机上运行的可能性。所以并不是只有 Java 语言能够跑在 Java 虚拟机上,时至今日诸如 Kotlin、Groovy、Jython、JRuby 等一大批 JVM 语言都能够在 Java 虚拟机上运行。它们和 Java 语言一样都会被编译器编译成字节码文件,然后由虚拟机来执行。所以说类文件(字节码文件)具有语言无关性。

二. Class 文件结构#

文件管理-第一节2:文件的逻辑结构

和数据结构中的逻辑结构与物理结构一样,文件也具有逻辑结构和物理结构

  • 逻辑结构:从用户角度看,文件内部的数据应该是如何组织起来的
  • 物理结构:从操作系统看,文件的数据是如何存放在外存中的

数据结构里逻辑结构可以分为线性结构和非线性结构,而文件中的逻辑结构则可以分为

  • 无结构文件
  • 有结构文件

一:无结构文件

无结构文件:文件内部的数据就是一系列二进制流或字符流组成。又称“流式文件”。比如Windows中的.txt文件就是无结构文件

无结构文件没有明显的结构特性,因此探讨其逻辑结构问题没有什么意义

以上是关于javasecclass文件结构的主要内容,如果未能解决你的问题,请参考以下文章

文件的结构

第十章 文件系统

C 语言文件操作 ( 将结构体写出到文件中并读取结构体数据 | 将结构体数组写出到文件中并读取结构体数组数据 )

为啥在多个文件中使用结构时会出现“预期的结构文件 1::A 找到结构文件 2::A”错误?

Vue文件夹目录结构

C 语言文件操作 ( 学生管理系统 | 命令行接收数据填充结构体 | 结构体写出到文件中 | 查询文件中的结构体数据 )