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 条评论
登录 后参与评论

相关文章

来自专栏加米谷大数据

多面编程语言Scala

如Scala官网宣称的:“Object-OrientedMeetsFunctional”,这一句当属对Scala最抽象的精准描述,它把近二十年间大行其道的面向对...

2134
来自专栏PHP在线

PHP实现四种基本排序算法

许多人都说算法是程序的核心,算法的好坏决定了程序的质量。作为一个初级phper,虽然很少接触到算法方面的东西。但是对于基本的排序算法还是应该掌握的,它是程序开发...

2683
来自专栏take time, save time

你所能用到的数据结构之番外篇---逆袭的面向对象(一)

     对于番外篇,我深刻能明白在大多数人眼里就和电视剧的广告一样,说实话,我也不喜欢这种感觉,因为这样会让人觉得是在欺骗消费者啊~~~阿西巴~~~但是我实在...

3438
来自专栏程序员笔记

读书「重构」

1472
来自专栏架构之路

索引优先队列-IndexedPrirotyQueue的原理及实现(源码)

1.索引优先队列的意义 索引优先队列是一个比较抽象的概念,它是一个优先队列,又带有索引,这个索引是用来干什么的呢? 在正常的队列中,我们只能访问队列头元素,整个...

3948
来自专栏带你撸出一手好代码

JavaScript对象的呼叫转移

声明:此文以通俗易懂的模式讲解JavaScript语言中call、apply运行原理。 非业内人士或未成年人请点左上角按扭及时离开以避免走火入魔。 事实上类似于...

3186
来自专栏C语言及其他语言

【编程经验】printf专题:你可能不知道的printf用法【文末有福利】

你可能不知道的printf用法 ? 不少小伙伴反映C语言只会用printf函数,但一些参数、返回值什么的还不了解,所以今天总结一二,给大家总结和梳理一下...

2818
来自专栏互扯程序

Java开发中遇到的那些坑!

之前在这个手册刚发布的时候看过一遍,当时感觉真是每个开发者都应该必读的一本手册,最近由于在总结一些我们日常开发中容易忽略的问题,可能是最低级的编码常见问题,往往...

551
来自专栏Albert陈凯

Scala Essentials: 字符串内插值

字符串插值 Scala是一门高度可扩展性的程序设计语言,保持微小的内核,但具有无穷大的扩展能力。例如,「字符串内插」功能,Scala语言并不是原生地支持该特性...

2797
来自专栏WindCoder

日期判断

601

扫码关注云+社区