界: Code Quality
代码质量不佳会导致不可预测的行为。对于用户来说,通常表现为可用性差。对于攻击者来说,提供了以意外方式对系统施加压力的机会。
Code Correctness: Incorrect serialPersistentFields Modifier
Abstract
要正确使用
serialPersistentFields
,必须将其声明为 private
、static
和 final
。Explanation
Java 对象序列化规范 (Java Object Serialization Specification) 允许开发人员通过在
示例 1:以下
serialPersistentFields
数组中指定类的可序列化的字段来手动定义这些字段。仅当 serialPersistentFields
被声明为 private
、static
和 final
时,此功能才能运行。示例 1:以下
serialPersistentFields
的声明将不会用来定义 Serializable
字段,因为它不是 private
、static
和 final
。
class List implements Serializable {
public ObjectStreamField[] serialPersistentFields = { new ObjectStreamField("myField", List.class) };
...
}
References
desc.structural.java.code_correctness_incorrect_serialpersistentfields_modifier