为什么并发HashMap是可序列化的

时间:2015-08-12 05:57:17

标签: java serialization concurrency concurrenthashmap

我正在浏览并发hashmap的源代码,发现它是可序列化的。 HashMap也是可序列化的。

为什么并发hashmap / hashmap是可序列化的?我的意思是为什么要做出这种设计选择。

2 个答案:

答案 0 :(得分:3)

HashMap是可序列化的,类实现 ptv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (temp != null) { temp.setBackgroundColor(Color.GREEN); temp.setBackgroundResource(R.drawable.cell_shape); temp = null; } if (temp == null) { TextView ptv = (TextView) v; String mdnStr =ptv.getText().toString().trim(); v.setBackgroundColor(Color.GRAY); if (mdnStr.length()== 10) { //do some thing whatever you want... } temp = ptv; } } }); 接口

Serializable

ConcurrentHashMap:

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

private static final long serialVersionUID = 362498820763181265L;

您可以在以下链接中获取有关java serialize的更多详细信息

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

答案 1 :(得分:1)

正如其他人已经说过的那样,HashMapSerializable,但是地图或Collection界面并不强制每个集合的实施都是&#34;可序列化的&#34 ;。如果您想创建自己的SetMap而不是将其设置为可序列化,那么这是您的选择,迫使人们去做是没有意义的它。

但我的猜测是,大多数实用程序类如Collection实现都是可序列化的,所以每个人都不必创建自己的SerializableHashMap,因为这些类被大量使用并且很多人序列化他们。所以它有点像他们的基本功能。