社区
Java SE
帖子详情
关于hashmap内存不可见有环的问题
Charcla
2019-04-01 09:29:33
我有一点困惑,就是jdk中并没有设置volatite,那么这个数组就是不可见的,那么线程A,B也应该是分别复制了一个值到自己的本地内存,那么线程B修改了这个数组,线程A用的也是自己在线程B修改前就从主内存复制到本地的,为什么还会受到线程B的影响?
原贴地址:https://blog.csdn.net/hhx0626/article/details/54024222
...全文
52
回复
打赏
收藏
关于hashmap内存不可见有环的问题
我有一点困惑,就是jdk中并没有设置volatite,那么这个数组就是不可见的,那么线程A,B也应该是分别复制了一个值到自己的本地内存,那么线程B修改了这个数组,线程A用的也是自己在线程B修改前就从主内存复制到本地的,为什么还会受到线程B的影响? 原贴地址:https://blog.csdn.net/hhx0626/article/details/54024222
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hashmap
不释放空间_
HashMap
内存
内存
溢出
问题
本文介绍了
内存
溢出,即
内存
超出JVM虚拟机容量导致异常。通过示例演示了因自定义Key类重写hashCode却未重写equals方法,使
HashMap
不断插入新对象,最终引发
内存
溢出。给出重写equals方法的解决方案,还提出自定义Key的最佳实践,如实现hashCode和equals方法等。
HashMap
形成环的原因
本文详细探讨了Java
HashMap
在1.7版本中如何在多线程环境下因扩容操作导致环形链表的形成,分析了其形成过程、可能的后果,并强调了
HashMap
的线程不安全性。
HashMap
为什么线程不安全
本文深入探讨了
HashMap
在多线程环境下线程不安全的原因,包括JDK1.7中的死循环与数据丢失
问题
,以及JDK1.8中的数据覆盖
问题
,并提供了使
HashMap
线程安全的方法。
好多人都不知道的:
HashMap
链表成环的原因和解决方案
本文深入分析了JDK7中
HashMap
链表成环的原因及其在JDK8中的解决方案。揭示了成环现象出现的具体条件和代码位置,并详细对比了JDK8如何通过改进扩容方法避免这一
问题
。
HashMap
线程不安全
问题
以及解决方法
HashMap
在多线程环境下存在线程不安全
问题
,如JDK1.7中的死循环和数据丢失,JDK1.8的数据覆盖。解决方法包括弃用的Hashtable,不常用的Collections.synchronizedMap和常用的Concurrent
HashMap
。Concurrent
HashMap
通过分段锁或CAS+Synchronized实现并发安全性。
Java SE
62,621
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章