当前位置: 首页 > 知识库问答 >
问题:

一种基于Java大列表的条目耦合方法

谢选
2023-03-14

在读取行并将条目对象添加到列表中时(这需要很长时间),程序以OutOfMemoryException“Java堆”终止。

所以我的方法似乎对内存(和运行时)太难了。
有什么更好的方法吗?

共有1个答案

莫誉
2023-03-14

您的方法本身可能是有效的,也许最简单的解决方案是简单地增加JVM可用的内存。

JVM只为自己分配最大数量的系统内存,您可以通过-xmx命令行属性增加这个值。更多细节请参见此处。

显然,这个解决方案不能扩展,如果(将来)您想要读取更大的文件,那么您可能需要一个更好的解决方案来读取这些文件。

 类似资料:
  • 我正在写一个国际象棋引擎,我需要一种有效的方法,将多个列表合并成一个按最小值排序的单数列表。 每个列表本质上是一组棋子,它们已经按照完美的攻击顺序排列。例如,我在a2上有一个白色的皇后,在b3上有一个白色的主教,在f1上有一个白色的车,在F2上有一个白色的车。现在假设我在f7上有一个黑色棋子,那么所有四个白色棋子从两个不同的离散方向汇聚在f7广场上--东北(皇后&毕晓普)和北方(鲁克斯)。 一些代

  • 本文向大家介绍Java中的耦合,包括了Java中的耦合的使用技巧和注意事项,需要的朋友参考一下 耦合是指另一个对象对一个对象的使用。也可以称为协作。一个对象与另一个对象之间的依赖关系可以完成一些任务,可以分为以下两种类型: 紧密耦合 -当对象创建要使用的对象时,则为紧密耦合情况。由于主要对象创建了对象本身,因此无法从外部将其更改为易于将其标记为紧密耦合的对象。 松散耦合 -当对象从外部获取要使用的

  • 我有一个清单如下: 我想做的是遍历mylist并生成如下所示的新列表: 换句话说,制作一个列表列表,其中每个列表包含初始列表条目的唯一组合,这样一个字母在结果列表的每个条目中不会出现两次。而且,每次将一个条目添加到result中时,我们都从初始列表的可用组合集合中抽象出它的子元素。(我猜给出的例子比解释更清楚)。

  • 问题内容: 我有一张表格,其中每一行都是以下形式: 凡我查询寻找的价值配对,使用。就查询时间而言,改为使用一个表(其中每行是一个排列)是否更有效: 这样,我这次使用=运算符查询了值b。 值得注意的是,我感兴趣的用例当前有大约10,000行,其中每个“列表”元素平均有8个条目。我同时标记了两者,因为使用和的数据库都存在类似的问题。 问题答案: 我的查询在其中使用LIKE寻找一对值,%b%。就查询时间

  • 在上面的示例中,子集列表有23个元素。对于gridSize为12,子集列表中的23个元素应该分布在12个分区中,因此在这种情况下,每个分区应该有2个子集列表中的元素。 这个问题与spring批处理分区有关。列表中的整数实际上是spring批处理程序要处理的用户ID。有些用户比其他用户需要更多的处理时间。因此在分区过程中可能发生的情况是,某些分区可能包含比其他分区占用更多处理时间的更多用户。这会导致

  • 我有一个mongoDB数据库和一组歌曲。每个文档都包含标题、艺术家姓名和一些其他信息。 我的应用程序允许用户加载自己的播放列表。基本上,我最终会得到一个标题/艺术家列表,并希望将其与数据库中的内容进行匹配。如果这首歌不在我的数据库中,我会保存它,否则我会把它添加到用户的帐户中。 根据歌名和艺人价值搜索所有这些歌曲的最有效方法是什么?现在我正在循环搜索列表中的每首歌并在数据库中搜索它,但这非常耗时。