Java transient
关键字深度解析
transient(意思:瞬时的,瞬间的)
1. 核心概念
(1) 基本定义
-
作用:标记字段不参与序列化
-
适用场景:
-
敏感数据(如密码、密钥)
-
临时计算字段
-
依赖运行时环境的字段(如Thread对象)
-
(2) 语法示例
java
public class User implements Serializable {private String username;private transient String password; // 不参与序列化private transient Session currentSession; // 会话对象通常不需要持久化
}
2. 底层机制
(1) 序列化过程
-
ObjectOutputStream
检查字段修饰符 -
遇到
transient
字段时直接跳过 -
反序列化时:
-
transient
基本类型字段 = 默认值&
-