java HashMap 极限容量 大小限制 占用内存大小

我很想知道HashMap到底极限容量是多少呢?搜了很久,没找到答案。也懒得继续找了~~~

反正应该很大很大~~

但HashMap占内存比较大,不少人都更关注于HashMap所占的内存怎么计算。

运行了一下,没找到HashMap的极限容量,但就发现HashMap很耗内存,一下子就OutOfMemoryError了。

        Integer a = 1;
        long start = 0;
        long end = 0;
        // 先垃圾回收
        System.gc();
        start = Runtime.getRuntime().freeMemory();
        HashMap map = new HashMap();
        for (int i = 0; i < 1000000; i++) {
            map.put(i, a);
        }
        // 快要计算的时,再清理一次
        System.gc();
        end = Runtime.getRuntime().freeMemory();
        System.out.println("一个HashMap对象占内存:" + (end - start));

当添加2000000个item的时候,就内存溢出了。

1000000个item的HashMap就占内存接近60M了~~夸张

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏码匠的流水账

聊聊sentinel的SentinelResourceAspect

com/alibaba/csp/sentinel/annotation/aspectj/SentinelResourceAspect.java

632
来自专栏程序员互动联盟

【面试宝典】java字符串处理技巧

面试官 知道String吗?String是什么类型的?用的时候需要注意什么?String和StringBuffer、StringBuilder的区别都是什么? ...

2766
来自专栏码匠的流水账

聊聊jpa的动态查询

使用springside的DynamicSpecifications,再把mvc的参数映射为SearchFilter,也可以自己实现一套端到端的动态查询。

721
来自专栏Netkiller

Spring data mongodb @Document定义Enum/List/Map数据结构

本文节选自《Netkiller Java 手札》 7.2.2. @Document 复杂的 @Document 数据类型定义 package cn.netk...

3648
来自专栏androidBlog

带你了解Android常见的内存缓存算法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gdutxiaoxu/article/details/...

441
来自专栏coding...

swift3.0 基础练习-构造对象并按要求进行排序(struct)

struct练手 构造10个学生(要求有学生的姓名、数学成绩、英语成绩),按照学生英语和数学平均分的成绩从小到大输出学生的姓名、数学成绩、英语成绩及平均分 ...

573
来自专栏Ryan Miao

java枚举类型学习

用的不多,但用的时候仅仅简单的使用,不太明白原理,今天就系统的学一下枚举。参考:java编程思想。 Update: 枚举可以当做数据字典来存储,通常只要一个字段...

2959
来自专栏史上最简单的Spring Cloud教程

Java注解详解

在使用SpringBoot作为Web敏捷开发的框架之后,SpringBoot除了自动装配配置的便捷之外,在很多时候需要基于注解来开发。注解不仅增加了代码的可读性...

2087
来自专栏用户2442861的专栏

JAVA注解

      http://blog.csdn.net/rj042/article/details/6399965

892
来自专栏积累沉淀

大型项目架构搭建_高内聚、低耦合(1)

软件开发中的项目的架构的终极目标就六个字: 高内聚、低耦合; 架构搭建好了,后期可维护性才能提高,在这基础上,如果还想提高项目的高效性,就只能从算法着手 如果项...

1838

扫码关注云+社区