java中HashMap的原理分析

这篇文章主要介绍java中HashMap的原理分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

创新互联专注为客户提供全方位的互联网综合服务,包含不限于网站设计、成都网站建设、城固网络推广、小程序设计、城固网络营销、城固企业策划、城固品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供城固建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com

Java的特点有哪些

Java的特点有哪些 1.Java语言作为静态面向对象编程语言的代表,实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。 2.Java具有简单性、面向对象、分布式、安全性、平台独立与可移植性、动态性等特点。 3.使用Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

1、原理分析

在HashMap中,put()方法行代码modCount++,这个代码一看就是线程不安全。

在扩展过程中取值不准确,HashMap的扩展将创建一个新的空数组,并将旧的项目填入新的数组,如果此时去取值,则可以获得null值。

2、实例

public class HashMapNotSafe {
 
    public static void main(String[] args) {
        final Map map = new HashMap<>();
 
        final Integer targetKey = 65535; // 65 535
        final String targetValue = "v";
        map.put(targetKey, targetValue);
 
        new Thread(() -> {
            IntStream.range(0, targetKey).forEach(key -> map.put(key, "someValue"));
        }).start();
 
        while (true) {
            if (null == map.get(targetKey)) {
                throw new RuntimeException("HashMap is not thread safe.");
            }
        }
    }
}

以上是“java中HashMap的原理分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


标题名称:java中HashMap的原理分析
网站链接:http://bzwzjz.com/article/ijicdc.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 网站设计公司 营销型网站建设 网站建设 网站设计 重庆网站建设 成都网站设计 手机网站建设 成都网站设计 app网站建设 定制级高端网站建设 成都网站建设 网站建设费用 成都网站建设 泸州网站建设 响应式网站设计 营销网站建设 成都网站设计 定制网站设计 高端网站设计 成都网站建设推广 成都做网站建设公司 成都网站制作