java – 字节代码vs字节流(序列化)

参见英文答案 >
Serialization vs. Byte Code Translation                                    1个

我有一个关于字节码和序列化的问题.

字节码 – 每个java类都转换为字节码进行编译,并作为字节/字节码流存储在内存(磁盘)中.

序列化 – 序列化是将对象的状态保存为字节序列的过程.

这个字节码本身不能用于通过网络发送吗?

那两者之间究竟有什么区别?

提前致谢.

最佳答案 这些概念完全不相关.

every java class is converted to bytecode for compilation

不,它不会转换为编译. Bytecode是编译的结果.它是由虚拟机(Java的JVM)运行的代码,如机器代码,由CPU直接运行.它是二进制的(字节序列而不是字符),因为它是一个更紧凑的表示.它不包含任何对象的状态(常量除外).

序列化存储对象的状态(默认Java序列化是二进制,但其他库/语言可以使用文本).序列化对象不包含字节码:您无法运行它或在JVM中运行它.

点赞