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
基本類型字段 = 默認值&
-