我得到了一个由 22 个字段组成的简单 POJO,这些字段是从几个 CSV 文件中读取的。阅读器线程逐行读取文件,每行包含这 22 个字段的值并构造 POJO。每个对象都存储在 ConcurrentLinkedQueue 中。
问题是总行数约为 300 万。我在双 CPU 机器上从 Eclipse 运行我的程序,每台机器都有 8 个内核。我使用 -Xms1024m -Xmx1024m VM 参数。
问题是,在阅读了近 800000 行之后,为每一行构造 POJO 并将 POJO 提供给队列,我得到堆空间的 OutOfMemory 错误。
我的问题是这些对象是否可以存储在队列中而不会出现 OutOfMemory 问题?