参见英文答案 >
Serialization vs. Byte Code Translation 1个
我有一个关于字节码和序列化的问题.
字节码 – 每个java类都转换为字节码进行编译,并作为字节/字节码流存储在内存(磁盘)中.
序列化 – 序列化是将对象的状态保存为字节序列的过程.
这个字节码本身不能用于通过网络发送吗?
那两者之间究竟有什么区别?
提前致谢.
最佳答案 这些概念完全不相关.
every java class is converted to bytecode for compilation
不,它不会转换为编译. Bytecode是编译的结果.它是由虚拟机(Java的JVM)运行的代码,如机器代码,由CPU直接运行.它是二进制的(字节序列而不是字符),因为它是一个更紧凑的表示.它不包含任何对象的状态(常量除外).
序列化存储对象的状态(默认Java序列化是二进制,但其他库/语言可以使用文本).序列化对象不包含字节码:您无法运行它或在JVM中运行它.