为什么我们在.class文件的开头需要一个幻数?

Ron*_*onK 13 java magic-numbers

我在这里阅读了一些关于0xCAFEBABE每个java .class文件开头的幻数的帖子,想知道为什么需要它 - 这个标记的目的是什么?
还需要它吗?或者它现在只是为了向后兼容?

找不到答案的帖子 - 我也没有在java 规范中看到答案

Dem*_*nto 9

幻数基本上是文件格式的标识符.例如,JPEG始终以FFD8开头.它本身不是必需的,它只是帮助识别文件类型.你可以阅读更多关于幻数这里.