当前位置: 首页 > 面试题库 >

Java大数据结构用于存储矩阵

田兴朝
2023-03-14
问题内容

我需要存储一个2d矩阵,其中包含邮政编码以及每个邮政编码之间的距离(以km为单位)。我的客户有一个计算距离的应用程序,然后将其存储在Excel文件中。目前,有952个地方。因此,矩阵将具有952x952
= 906304条目。

我试图将其映射到HashMap [Integer,Float]。整数是两个字符串在两个位置(例如“ A”和“
B”)的哈希码。浮点值是它们之间的距离(以公里为单位)。

在填充数据时,我在205k个条目后遇到OutOfMemoryExceptions。您是否有技巧可以巧妙地存储它?我什至不知道将全部存储在内存中是否很聪明。我的选择是SQL和MS
Access …

问题是我需要非常快速且可能非常频繁地访问数据,这就是为什么我选择HashMap的原因,因为它在O(1)中运行以进行查找。

谢谢您的答复和建议!

马可


问题答案:

您可以简单地增加JVM可用的内存吗?

java -Xmx512m ...

通过 默认
的最大内存配置为64MB。这里还有一些调优技巧。如果可以做到这一点,则可以使数据保持处理中状态并
最大化 性能(即,您无需即时计算)。



 类似资料:
  • 问题内容: 前言:前几天,我在考虑为新应用程序使用新的数据库结构,并意识到我们需要一种有效地存储历史数据的方法。我想让其他人看一看,看看这种结构是否有任何问题。我意识到这种存储数据的方法很可能以前就已经发明了(我几乎可以肯定已经有了),但是我不知道它是否有名称,并且我尝试过的一些Google搜索都没有产生任何结果。 问题:假设您有一个订单表,并且订单与下订单的客户的客户表相关。在正常的数据库结构中

  • 主要内容:图存储结构基本常识,图存储结构的分类我们知道,数据之间的关系有 3 种,分别是 "一对一"、"一对多" 和 "多对多",前两种关系的数据可分别用 线性表和树结构存储,本节学习存储具有"多对多"逻辑关系数据的结构—— 图存储结构。 图 1 图存储结构示意图 图 1 所示为存储 V1、V2、V3、V4 的图结构,从图中可以清楚的看出数据之间具有的"多对多"关系。例如,V1 与 V4 和 V2 建立着联系,V4 与 V1 和 V3 建立着

  • 主要内容:树的结点,子树和空树,结点的度和层次,有序树和无序树,森林,树的表示方法,总结之前介绍的所有的 数据结构都是 线性存储结构。本章所介绍的树结构是一种非线性存储结构,存储的是具有“一对多”关系的数据元素的集合。                                                                          (A)                                                          

  • 本文向大家介绍C++ 数据结构之对称矩阵及稀疏矩阵的压缩存储,包括了C++ 数据结构之对称矩阵及稀疏矩阵的压缩存储的使用技巧和注意事项,需要的朋友参考一下 对称矩阵及稀疏矩阵的压缩存储 1.稀疏矩阵  对于那些零元素数目远远多于非零元素数目,并且非零元素的分布没有规律的矩阵称为稀疏矩阵(sparse)。   人们无法给出稀疏矩阵的确切定义,一般都只是凭个人的直觉来理解这个概念,即矩阵中非零元素的个

  • Room存储数据库的位置以及如何强制重新生成数据库?我尝试在以下位置查找DB: 我想使用SQLLite看看数据库中到底有什么数据,所以我按照“Access database in Android Studio”的方向操作,但我只看到一个缓存和codecache目录存储在那里。没有数据库目录。 想要查看DB的原因是我更改了模型以添加几个字段,但我想不出如何强制使用Room来重新创建并用数据重新填充D

  • 我需要存储这样的布尔表达式: 每个变量都是一个布尔表达式,如或的值。问题是存储嵌套的和子句(在它们内部和/或彼此内部),并用包装它们。包裹深度可以很深。 Java SDK是否具有这些表达式的数据结构?