herdann 2009-11-19 13:15
浏览 282
已采纳

hashmap 同步的问题

=========JDK 5.0 Doc==========
java.util
类 HashMap
java.lang.Object
java.util.AbstractMap
java.util.HashMap
所有已实现的接口:
Serializable, Cloneable, Map
直接已知子类:

LinkedHashMap, PrinterStateReasons

记得以前看书说hashtable同步,map是不同步的。但是今天看java doc.
Hashmap 实现了Serializable接口 就应该是同步的阿?
也许是我理解不对,
为什么hashmap不是?

怎么判断一个类是不是同步呢?

  • 写回答

3条回答 默认 最新

  • lijiepeng 2009-11-20 07:04
    关注

    除了不可变类是自动线程安全的,另外就是在类中带有synchronized关键字的也是为了使这个类变成线程安全的.避免并发问题的两种手段也就这两种,不变性和隔离性,synchronized就是为了实现隔离性,以使并行的访问变为线性的访问.
    如果一个可变类没有一个synchronized关键字,他肯定不是线程安全的,HashMap就是这样的可变类,并且没有synchronized.带有synchronized关键字的可能是线程安全的类型,Hashtable中的好多方法带有synchronized,并且它是线程安全的.

    Java中的Serializable接口和事务中的事务隔离级别Serializable,虽说单词一样,但它们之间基本没关系.
    Java中的Serializable接口是实现一个内存对象保存成磁盘文件并从磁盘文件恢复成内存对象的机制. 事务隔离级别Serializable是实现多个访问共享数据的事务得以线性顺序进行机制的.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器