【发布时间】:2011-08-13 09:07:56
【问题描述】:
我在这里阅读了一些关于每个 java .class 文件开头的幻数0xCAFEBABE 的帖子,并想知道为什么需要它 - 什么是这个标记的目的是什么?
它还需要吗?还是现在只是为了向后兼容?
找不到回答这个问题的帖子 - 我也没有在 java spec 中看到答案
【问题讨论】:
-
为什么要关心 .class 文件中的内容? .class文件被编译,你应该只关心.java文件。
-
是的,VM 从来没有真正需要工作,它只是为了能够将 Java 类文件与其他类型的文件区分开来,即使文件名未知。 (不过,VM 并未将其用于此目的。)
-
@Nik - 这是一个出于兴趣的问题 - 我遇到了一个我不熟悉的术语,在阅读后我对此感到困惑。这不像我现在要写一个
.class文件解析器...... -
@Nik 如果您有兴趣进行任何字节码读取和/或操作,那么您将对 .class 文件非常感兴趣。
标签: java magic-numbers