Java编译后的class二进制文件(以class结尾)可以通过网络传输。有时候在传输文件的过程中,连接可能会被中断或受干扰,使得class 文件装载失败;有时候当拷贝文 件 到web服务器时,文件会被混淆或者发生磁盘错误。因此,JVM和class loader提供了特别的手段去验证类文件是否完整。一个预防就是每个类定义的开始包含了magic number, 这 是一串四位的字节数组用来标记该文件之所以为类定义文件。 对 于那些很想知道magic number是什么的人来说,它就是一个16进制数CAFEBABE,class loader用它来确定一个文件是否真得是类文件。