java大地图冻结了我的程序
我有一张很大的地图,在那里我存储了一些对象。地图很大:大约有200k个对象。当我尝试运行一些需要读取映射值的方法时,程序冻结。当我调试它时,我的IDE似乎正在“收集数据”(图)。它从未完成这项任务
我有16GB内存。 我能做些什么来加快速度
你可以在下面搜索框中键入要查询的问题!
我有一张很大的地图,在那里我存储了一些对象。地图很大:大约有200k个对象。当我尝试运行一些需要读取映射值的方法时,程序冻结。当我调试它时,我的IDE似乎正在“收集数据”(图)。它从未完成这项任务
我有16GB内存。 我能做些什么来加快速度
# 1 楼答案
查看this-作为解决方案,您可以增加应用程序的堆大小:
但是它不是很好。我建议您尝试重新设计您的数据处理方法。也许您可以在获取数据之前应用一些过滤,以减小数据大小或在数据库级别实现一些计算
# 2 楼答案
我遇到了大约6100万个元素的性能问题
我用
java -Xms12G -Xmx13G BreakingMaps
运行程序我怀疑你的问题不是地图,而是地图周围的环境。如果我写的是同一个程序,但是使用了一个带有hashcode colion的类,那么这个程序就不能处理200K个元素