簡體   English   中英

為什么並發HashMap可序列化

[英]Why Concurrent HashMap is Serializable

我正在查看並發哈希圖的源代碼,發現它是可序列化的。 HashMap也可以序列化。

為什么並發哈希圖/哈希圖是可序列化的? 我的意思是為什么要做出這種設計選擇。

HashMap是可序列化的,該類實現Serializable接口

public class HashMap<K,V> extends AbstractMap<K,V>
implements Map<K,V>, Cloneable, Serializable {

private static final long serialVersionUID = 362498820763181265L;

ConcurrentHashMap也是如此:

public class ConcurrentHashMap<K,V> extends AbstractMap<K,V>
implements ConcurrentMap<K,V>, Serializable {
private static final long serialVersionUID = 7249069246763182397L;

您可以在以下鏈接中獲得有關Java序列化的更多詳細信息

http://www.tutorialspoint.com/java/java_serialization.htm

就像其他人已經說過的那樣, HashMapSerializable ,但是Map或Collection接口並不強制每個collection的實現都是“可序列化的”。 如果要創建自己的SetMap而不將其設置為可序列化,則由您選擇,強迫人們這樣做是沒有意義的。

但是我的猜測是,大多數實用程序類(例如Collection實現)都是可序列化的,因此每個人都不必創建自己的SerializableHashMap ,因為使用了這些類的人很多,而且有很多人對其進行序列化。 因此,這對他們來說是一個基本功能。

暫無
暫無

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

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