微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Java 类文件中使用 0xcafebabe 来识别字节顺序?

如何解决在 Java 类文件中使用 0xcafebabe 来识别字节顺序?

是用于标识字节顺序的 Java 类文件0xcafebabe,例如在网络类加载器中? java 类可以被序列化并通过网络发送到另一台机器,以便通过网络类加载器加载来远程执行。在这种情况下,是否使用 0xcafebabe 来查看它是“0xbabecafe”还是“0xcafebabe”?

我想答案是否定的,但可以肯定。我认为 .class 文件中的字节顺序总是大端,我总是在任何机器上的文件系统顶部看到 0xcafe。当一个类被序列化时,我想它总是在大端(对吗?)。当 .class 或序列化类通过网络逐字节发送时,会保留字节序。因此我们不必自己处理字节顺序。

请告知这是否正确,如果有不正确的情况,请予以纠正。而 0xcafebabe 只是一个标记,告诉“这个文件可以是一个 java 类文件”。

解决方法

你的答案是here

多字节数据项总是以大端顺序存储,高字节在前。

同一章详细介绍了类文件结构,包括魔法咖啡馆宝贝。

该文件如何通过网络传输取决于所使用的协议。例如 TCP 使用大字节序。但这有点无关紧要,因为您希望在另一端接收相同的文件,无论字节在传输过程中如何排序。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。