我在这里阅读了一些关于每个Java.class文件开头的魔数0xCAFEBABE
的帖子,并想知道为什么需要它- 这个标记的目的是什么?
现在是否仍然需要它?或者现在只是为了向后兼容而存在?
在这里我没有找到回答这个问题的帖子,也没有在Java 规范中看到答案。
我在这里阅读了一些关于每个Java.class文件开头的魔数0xCAFEBABE
的帖子,并想知道为什么需要它- 这个标记的目的是什么?
现在是否仍然需要它?或者现在只是为了向后兼容而存在?
在这里我没有找到回答这个问题的帖子,也没有在Java 规范中看到答案。
魔数基本上是文件格式的标识符。例如,JPEG始终以FFD8开头。这不是Java本身所必需的,它只是有助于识别文件类型。您可以在此处阅读更多关于魔数的信息。
魔数(Magic numbers)是一种常见的技术,用于使文件等东西可识别。
其思想是只需读取文件的前几个字节,就能知道这是否很可能是Java类文件。如果前几个字节不等于魔数,则可以确定它不是有效的Java类文件。
在二进制文件中,通常会在开头加上一些固定标识符(例如zip文件以字符PK开头)。这样可以减少将错误类型的文件误解释为类文件的可能性。
.class
文件解析器... - RonK