我正在尝试在 java 中读取大约 3m 行的文件(选项卡或 csv 文件);还将虚拟机内存添加到-Xmx6g。该代码适用于制表符分隔文件的 400K 行,而 csv 文件的行数则略少。涉及到许多 LinkedHashMap 和向量,我尝试在每几百行之后使用 System.gc() 以释放内存和垃圾值。但是,我的代码在 400K 行之后给出了以下错误。
线程“主”java.lang.OutOfMemoryError 中的异常:Java 堆空间
at java.util.Vector.<init>(Vector.java:111)
at java.util.Vector.<init>(Vector.java:124)
at java.util.Vector.<init>(Vector.java:133)
at cleaning.Capture.main(Capture.java:110)