Joh*_*her 3 java serialization javac serialversionuid
我了解这些字段是什么以及如何使用它们,但我想知道:
Java 编译器如何在其编译步骤中实际处理这样的特殊字段?它真的只根据名称查找变量吗?
这看起来很像非 Java... 除了serialVersionUIDand 之外serialPersistentFields,还有其他的吗?
不幸的是,是的,这些成员是在运行时通过名称神奇地发现的。(实际上,它更糟;无论它们是静态的还是非静态的、公共的还是私有的等等,都适合查找。)您是对的,这不是一个好的做法,也不是很像 Java,但这是我们的遗产被困住了。
有关完整列表,请参阅序列化规范:https : //docs.oracle.com/en/java/javase/11/docs/specs/serialization/index.html
| 归档时间: | 
 | 
| 查看次数: | 100 次 | 
| 最近记录: |