专栏首页陈黎栋的专栏啦HashMap最佳实践经验

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

相关文章

  • JanusGraph数据备份与恢复

    JanusGraph官方文档并没有他提供数据备份与恢复的相关说明,所以我们是使用的Tinkerpop的备份与恢复命令。

    陈黎栋
  • 数据结构·面试·数组高频题·中位数问题第K大问题等

    陈黎栋
  • 基于栈和队列实现括号匹配算法

    视频 http://study.163.com/course/courseLearn.htm?courseId=555010#/learn/video?l...

    陈黎栋
  • 使用QT绘制一个多边形

    可以通过QT的重绘事件和鼠标事件来绘制多边形,最简单的办法就是在继承QWidget的窗体中重写paintEvent、mousePressEvent等事件处理函数...

    charlee44
  • 聊聊流计算系统中的核心问题:状态管理

    状态管理是流计算系统的核心问题之一。在实现流数据的关联操作时,流计算系统需要先将窗口内的数据临时保存起来,然后在窗口结束时,再对窗口内的数据做关联计算。在实现时...

    实时计算
  • OpenSL ES那些事

    本次分享主要是将JNI层的声音采集,传输以及播放过程做相应介绍,若是大家有更好的优化建议,欢迎指教。

    QQ音乐技术团队
  • 数据淘金热时代下的隐私问题何去何从——探讨国内外法规下的匿名化概念

    在大数据时代,数据采集和存储变得越来越容易。在政府、互联网、运营商、医疗、银行和电力等各行各业的大数据中,或多或少与个人信息有关。比如手机APP收集用户的个人注...

    绿盟科技研究通讯
  • Vue.js动画在项目使用的两个示例

    vue.js在2016年大放异彩,我们 Qlippie 直播平台进来使用vue.js开发了一些页面,效果拔群,在这里跟大家分享在项目中用vue.js开发的两个动...

    李萌
  • HDR关键技术:色调映射(一)

    HDR技术近年来发展迅猛,在未来将会成为图像与视频领域的主流。如何让HDR图像与视频也能够同时兼容地在现有的LDR显示设备上显示,是非常重要的技术挑战。色调映射...

    用户1324186
  • 机制和原理——样式表导入

    外部样式表的导入包括在HTML文档里链接外部CSS文件的 link方式 和在CSS文件里引入其他CSS文件的 import方式 两种方式。

    Html5知典

扫码关注云+社区

领取腾讯云代金券