HashMap最佳实践经验

 

 

实验1(主实验)-HashMap最大承载数据量测试

实验概述:

    将n条随机生成的KV插入一个hashMap。

 

实验配置:    

    物理内存-24GB。

    JVM使用默认配置,即最大堆内存默认为6GB(物理内存的四分之一)。

KV的长度设定和大小估算:

    每个key 20个字符 ,  value 80个字符 , 一个KV约为2KB。

实验方法及实验现象:

    随机生成并插入10 000 000 条KV(20GB),能在5分钟之内插入完成。

    随机生成并插入100 000 000 条KV(200GB),在第25分钟,出现JVM内存不够的情况,无法插入完成。

实验结论及分析:

    JVM最大堆内存为6GB时,只用于HashMap的对象,HashMap的对象中可以容纳原始大小超过20GB的数据,这些数据持久化的到单个磁盘文件上约为10GB(磁盘文件大小测试实验见实验2)。

    从实现现象来看,HashMap有压缩等其他结约存储空间的方式。

 

 

辅助实验-实验1中HashMap存储数据量大小测试

 

实验概述:

    实验1将n条随机生成的KV插入一个hashMap,实验2在实验1的基础上将HashMap的所有KV持久化的磁盘上。

实验配置:    

    物理内存-24GB。

    JVM使用默认配置,即最大堆内存默认为6GB(物理内存的四分之一)。

KV的长度设定和大小估算:

    每个key 20个字符 ,  value 80个字符 , 一个KV约为2KB。

 

实验方法及实验现象:

    随机生成并插入10 000 000 条KV(20GB),能在5分钟之内插入完成。

    将HashMap的所有KV写入自己设计的文件版KV数据库。

    持久化以后的文本文件刚好为10GB。

 

    

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值