簡體   English   中英

為什么我們序列化 java 類並聲明一個變量 static 不會序列化它?

[英]Why do we serialize java class and declaring a variable static won't serialize it?

像 Logger 這樣的靜態類不會被序列化。 為什么 ?

當您將一個類標記為Serializable ,您是在請求 Java 運行時序列化您的類的對象實例 這有助於將對象中的數據轉換為可持久化的格式以存儲或通過數據流發送。

另一方面, static成員不屬於任何類,不屬於序列化的范圍。 因此,將類標記為Serializable不會影響類的任何static成員。

當您反序列化一個對象時,它的所有類的static成員都將在加載類時在另一個 JVM 中初始化。 因此將靜態字段數據作為序列化對象的一部分發送是沒有意義的。

有關更多詳細信息,請參閱此文章

希望這可以幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM