最近在做一个java项目,需要处理大量的实时数据,为了效率将这些数据存放到了HashMap里。刚开始估计项目运行起来,这些HashMap可以要消耗100M以上内存,为以后的扩展带来隐患。
于是打开JDK/bin目录下的VisualVM工具,选中SpringBoot的java进程,对内存进行了分析。使用过滤器找到KLineMapBean这个java类,它仅有一个实例,在下图中可以清晰的看到每个HashMap对象使用内存的大小。整个KLineMapBean实例所需内存不到15M,远低于我的预估值。

本文介绍了一个Java项目中使用HashMap处理大量实时数据的过程,并通过VisualVM工具进行内存分析,最终发现实际内存消耗远低于预期。
最近在做一个java项目,需要处理大量的实时数据,为了效率将这些数据存放到了HashMap里。刚开始估计项目运行起来,这些HashMap可以要消耗100M以上内存,为以后的扩展带来隐患。
于是打开JDK/bin目录下的VisualVM工具,选中SpringBoot的java进程,对内存进行了分析。使用过滤器找到KLineMapBean这个java类,它仅有一个实例,在下图中可以清晰的看到每个HashMap对象使用内存的大小。整个KLineMapBean实例所需内存不到15M,远低于我的预估值。


被折叠的 条评论
为什么被折叠?